English | 简体中文
ZLPhotoBrowser is a Wechat-like image picker. Support select normal photos, videos, gif and livePhoto. Support edit image and crop video.
- Features
- Requirements
- Usage
- Change Log
- Languages
- Installation(Support Cocoapods/Carthage/SPM)
- Support
- Demo Effect
Detailed usage of Swift
and OC
, please refer to Wiki.
If you only want to use the image edit feature, please move to ZLImageEditor.
- Portrait and landscape.
- Two framework style.
- Preview selection (Support drag and drop).
- Library selection (Support sliding selection).
- Image/Gif/LivePhoto/Video.
- Customize the maximum number of previews or selection, the maximum and minimum optional duration of the video.
- Customize the number of columns displayed in each row.
- Image editor (Draw/Crop/Image sticker/Text sticker/Mosaic/Filter/Adjust(Brightness, Contrast and Saturation)), (Draw color can be customized; Crop ratio can be customized; Filter effect can be customized; You can choose the editing tool you want).
- Video editor.
- Custom camera.
- Multi-language.
- Selected index.
- Selected/unselectable state shadow mask.
- The selected photos are displayed at the bottom of the big picture interface, which can be dragged and sorted.
- The camera's internal photo cell can displays the captured images of the camera.
- Customize font.
- The color of each part of the framework can be customized (Provide dynamic color can support light/dark mode).
- Customize images.
If you have good needs and suggestions in use, or encounter any bugs, please create an issue and I will reply in time.
- iOS 10.0
- Swift 5.x
- Xcode 13.x
- Preview selection
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] results, isOriginal in
// your code
}
ps.showPreview(animate: true, sender: self)
- Library selection
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] results, isOriginal in
// your code
}
ps.showPhotoLibrary(sender: self)
- Pay attention, you need to add the following key-value pairs in your app's Info.plist
// If you don’t add this key-value pair, multiple languages are not supported, and the album name defaults to English
Localized resources can be mixed YES
Privacy - Photo Library Usage Description
Privacy - Camera Usage Description
Privacy - Microphone Usage Description
● 4.4.9
Add:
Support for setting the initial index of the first image.
Define the text for the "Done" button on different screens with different keys to facilitate customizing the text.
● 4.4.8.1 - 4.4.8.2 (4.4.8 Patch)
Fix:
Fix the bug where the camera does not disappear when clicking cancel in the system camera.
● 4.4.8
Add:
Adapt to iOS 17, replace UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.
Fix:
Fix the bug in ZLImagePreviewController where videos cannot be played.
● 4.4.7
Add:
Enhancing the drawing tool with an eraser function.
Display the total size of selected photos when the full image button is selected.
Fix:
Fix a bug where the video's start time is incorrect when cropping the video.
...
🇨🇳 Chinese, 🇺🇸 English, 🇯🇵 Japanese, 🇫🇷 French, 🇩🇪 German, 🇷🇺 Russian, 🇻🇳 Vietnamese, 🇰🇷 Korean, 🇲🇾 Malay, 🇮🇹 Italian, 🇮🇩 Indonesian, 🇪🇸 Spanish, 🇵🇹 Portuguese, 🇹🇷 Turkish, 🇸🇦 Arabic, 🇳🇱 Dutch.
There are four ways to use ZLPhotoBrowser in your project:
- using CocoaPods
- using Carthage
- using Swift Package Manager
- manual install (build frameworks or embed Xcode Project)
To integrate ZLPhotoBrowser into your Xcode project using CocoaPods, specify it to a target in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target 'MyApp' do
# your other pod
# ...
pod 'ZLPhotoBrowser'
end
Then, run the following command:
$ pod install
If you cannot find the latest version, you can execute
pod repo update
first
To integrate ZLPhotoBrowser into your Xcode project using Carthage, specify it in your Cartfile:
github "longitachi/ZLPhotoBrowser"
Then, run the following command to build the ZLPhotoBrowser framework:
$ carthage update
If you get an error like Building universal frameworks with common architectures is not possible. The device and simulator slices for "ZLPhotoBrowser" both build for: arm64 Rebuild with --use-xcframeworks to create an xcframework bundle instead.
Click this link.
- Select File > Add Packages. Enter https://github.com/longitachi/ZLPhotoBrowser.git in the "Choose Package Repository" dialog.
- In the next page, specify the version resolving rule as "Up to Next Major" with "4.4.9" as its earliest version.
- After Xcode checking out the source and resolving the version, you can choose the "ZLPhotoBrowser" library and add it to your app target.
- ★ Star this repo.
- Support with or or
- Video editor
- Multi-language
- Custom camera