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.
- iOS14 supported.
- 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 12.x
- Preview selection
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] (images, assets, isOriginal) in
// your code
}
ps.showPreview(animate: true, sender: self)
- Library selection
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] (images, assets, 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.3.1 - 4.3.0 Patch
Add:
Remove deprecated properties.
Moved some UI related properties to ZLPhotoUIConfiguration.
Add ZLEnlargeButton class instead of extending UIControl to enlarge button click area.
Add fade animation when taking photos.
● 4.3.0 - Beta
Add:
Turkish supported.
Separate UI-related properties such as color, text, font, and image from ZLPhotoConfiguration and put them in ZLPhotoUIConfiguration.
Add some properties to edit configuration to support Objective-C.
Add some customize color properties.
Add long press callback in ZLImagePreviewController.
Add property to allow user to do something before select photo result callback.
● 4.2.5
Fix:
Fix the bug of failing to archive with Xcode 13.3.
...
🇨🇳 Chinese, 🇺🇸 English, 🇯🇵 Japanese, 🇫🇷 French, 🇩🇪 German, 🇷🇺 Russian, 🇻🇳 Vietnamese, 🇰🇷 Korean, 🇲🇾 Malay, 🇮🇹 Italian, 🇮🇩Indonesian, 🇪🇸Spanish, 🇵🇹Portuguese, 🇹🇷Turkish.
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 > Swift Packages > Add Package Dependency. 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.0.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