ZLPhotoBrowser is a simple and easy-to-use photo browser and viewer for iOS apps. With ZLPhotoBrowser, you can quickly and efficiently display photos and enable users to browse through them seamlessly.


  • High-performance photo browsing
  • Zoom, pinch, and double-tap gestures support
  • Support for both local and remote images
  • Thumbnail grid view for easy image navigation
  • Customizable UI elements
  • Flexible photo data source handling
  • Customizable animation transitions
  • Automatic detection and integration with third-party libraries


To integrate ZLPhotoBrowser into your iOS project, you can use CocoaPods or manually install it.


Add the following line to your Podfile:

// Podfile
pod 'ZLPhotoBrowser'

Then, run the following command:

pod install

Manual Installation

  1. Download the latest version of ZLPhotoBrowser from GitHub repository.
  2. Drag and drop the ZLPhotoBrowser folder into your Xcode project.
  3. Make sure to include the necessary dependencies (see the DependLibraries folder).


To start using ZLPhotoBrowser in your app, follow these steps:

Step 1: Import the framework

In your view controller, import the framework using the following line:

import ZLPhotoBrowser

Step 2: Configure photo data source

ZLPhotoBrowser needs a data source to display photos. To provide the necessary data, create an array of ZLPhotoModel to represent your photos. Each ZLPhotoModel object should contain the necessary image information, such as URL, asset, or locally stored image.

Here is an example:

let photos: [ZLPhotoModel] = [
    ZLPhotoModel(imageURL: URL(string: "https://example.com/photo1.jpg")),
    ZLPhotoModel(asset: myPHAsset),
    ZLPhotoModel(image: UIImage(named: "localImage"))

Step 3: Display the photo browser

To present the ZLPhotoBrowser view controller, initialize it with the photo data source and present it from your desired view controller:

// Initialize ZLPhotoBrowser
let browser = ZLPhotoBrowser(photos: photos, initialIndex: 0)
present(browser, animated: true, completion: nil)


ZLPhotoBrowser provides several customization options to tailor the appearance and behavior of the photo browser:

Custom UI

You can customize various UI elements of the photo browser, including colors, fonts, and text:

// Customize UI elements
ZLPhotoConfiguration.default().themeColor = .blue
ZLPhotoConfiguration.default().maxSelectCount = 10

Animation Transitions

You can customize the animation transitions when presenting the ZLPhotoBrowser:

// Customize animation transitions
browser.modalPresentationStyle = .custom
browser.transitioningDelegate = myCustomTransitionDelegate

Delegate Methods

ZLPhotoBrowser also offers several delegate methods for more advanced customization and handling user interactions:

extension MyViewController: ZLPhotoBrowserDelegate {
    // Implement delegate methods here


With ZLPhotoBrowser, you can easily integrate a smooth and efficient photo browsing experience into your iOS app, enabling users to view and navigate through photos effortlessly. Customize its appearance and behavior to match your app’s style and requirements for a seamless user experience.