AsyncPhotoBrowser
High performance photo browser designed for web images built with FastImageCache. Contains a grid view; can zoom in/out specific image and scroll across images.
Install / Use
/learn @DJBen/AsyncPhotoBrowserREADME
AsyncPhotoBrowser
High performance gallery designed for web images built with FastImageCache. It consists of a grid view controller that contains all thumbnails of the images. You can tap on any of the photos to browse specific images in a browser view controller with zoom in / out and scrolling capabilities.
Usage
Installation via Cocoapods
This is the recommended approach.
pod 'AsyncPhotoBrowser', '~> 0.2.0'
How to start
-
Import all files in
/Classes. -
Create a subclass of
GalleryViewController. -
Implement
GalleryDataSourceprotocol. As examples shown belowoverride func awakeFromNib() { super.awakeFromNib() // Set dataSource of GalleryViewController self.dataSource = self ... } // MARK: Gallery Data Source func gallery(gallery: GalleryViewController, numberOfImagesInSection section: Int) -> Int { // return number of images } func gallery(gallery: GalleryViewController, imageURLAtIndexPath indexPath: NSIndexPath) -> NSURL { // return the remote or local URL of the specific image }
Demo

Pending Improvements
- Gallery View Controller currently has only one section containing all images. Consider adding more sections.
Known Issues
- ~~Scrolling gesture on the transparent part of images doesn't work.~~
- Zooming sometimes makes image scrolling stuck. Zooming it again can solve this problem.
Notes
This is an experiment of FastImageCache.
Photo gallery serves an important role among many use cases. Sadly there is not a perfect solution that is both automatic and has high performance at the same time. My purpose is to implement such a solution as perfect as possible. I appreciate any help from you if you are interested!
License
MIT
Related Skills
ai-cmo
Collection of my Agent Skills and books.
next
A beautifully designed, floating Pomodoro timer that respects your workspace.
product-manager-skills
38PM skill for Claude Code, Codex, Cursor, and Windsurf: diagnose SaaS metrics, critique PRDs, plan roadmaps, run discovery, and coach PM career transitions.
devplan-mcp-server
3MCP server for generating development plans, project roadmaps, and task breakdowns for Claude Code. Turn project ideas into paint-by-numbers implementation plans.
