A drop-in iOS library that stops the keyboard from covering UITextField and UITextView, with no code required.
longitachi/ZLPhotoBrowser
A WeChat-style photo picker for iOS that selects photos, GIFs, Live Photos and videos, with built-in image and video editing.
- Stars
- 4,988
- Forks
- 1,014
- Open issues
- 15
- Last commit
- 19 days ago
What is it?
ZLPhotoBrowser is an iOS picker library that reproduces the photo selection experience of WeChat. Users can preview images, slide or drag across thumbnails to select multiple items, and pick from photos, GIFs, Live Photos and videos in the photo library.
Beyond selection, the library includes an image editor with drawing, cropping, stickers, text, mosaic, filters and brightness, contrast and saturation adjustments, plus a video editor for trimming clips and editing multiple videos. It also provides a custom camera that can capture photos and record video directly inside the picker.
The framework supports SwiftUI, iPad multi-window and landscape orientation, with customizable colors, fonts, column counts, selection limits and video duration limits. It is distributed through CocoaPods, Carthage and Swift Package Manager, and requires iOS 15.0 or later for version 6.x.
Key features
- 01Select photos, GIFs, Live Photos and videos with preview or library modes.
- 02Slide to multi-select and drag to reorder selected items at the bottom of the preview.
- 03Image editor with drawing, cropping, stickers, text, mosaic, filters and adjustments.
- 04Video editor for trimming, with support for editing multiple videos.
- 05Custom camera that captures photos and videos inside the picker.
- 06Supports SwiftUI, iPad multi-window, and 16 interface languages.
Use cases
- Adding a WeChat-style media picker to an iOS chat or social app.
- Letting users pick and lightly edit photos before uploading them.
- Building a profile or post composer that accepts photos and videos.
- Offering in-app video trimming before sending clips.
Quick start
- 1
Add ZLPhotoBrowser to your target in the Podfile
- 2
Install the pod with CocoaPods
pod install
Things to know
- iOS only; there is no macOS, Android, or other platform support.
- Version 6.0.0 and later require iOS 15.0 or newer, and older versions require iOS 10.0 or newer.
- Your app's Info.plist must include the photo library, camera, and microphone usage descriptions.
Topics
FAQ
- What is ZLPhotoBrowser?
- A WeChat-style photo picker for iOS that selects photos, GIFs, Live Photos and videos, with built-in image and video editing. ZLPhotoBrowser is an iOS picker library that reproduces the photo selection experience of WeChat. Users can preview images, slide or drag across thumbnails to select multiple items, and pick from photos, GIFs, Live Photos and videos in the photo library.
- Is ZLPhotoBrowser free to use? What license does it have?
- ZLPhotoBrowser is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is ZLPhotoBrowser still maintained?
- Actively maintained. The last commit to ZLPhotoBrowser was on Oct 19, 2026.
- What can I use ZLPhotoBrowser for?
- Adding a WeChat-style media picker to an iOS chat or social app. Letting users pick and lightly edit photos before uploading them. Building a profile or post composer that accepts photos and videos. Offering in-app video trimming before sending clips.
- How do I install ZLPhotoBrowser?
- Add ZLPhotoBrowser to your target in the Podfile Install the pod with CocoaPods: pod install
- Where can I get ZLPhotoBrowser?
- The source code and installation instructions are on GitHub: https://github.com/longitachi/ZLPhotoBrowser
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A collection of over 500 native Swift extensions adding handy methods to standard library, Foundation and UIKit/AppKit types.
A Swift library for building Apple-platform apps with consistent state management, composable features, side-effect control, and strong testing support.
An iOS view controller for cropping UIImage objects, with rotation, circular crop, and aspect-ratio locking, modeled on the Photos app editor.
An iOS app that records from two cameras at once using AVCaptureMultiCamSession, with split-screen or picture-in-picture preview and a Liquid Glass UI.
An iOS/tvOS framework that renders UIKit-style interfaces asynchronously on background threads to keep scrolling smooth.