EBPhotoPages for iOS by Eddy Borja

Download Source

Selected as a Control of the Week

EBPhotoPages is a photo gallery library for displaying pages of photos and their meta data in a scrollview. Users are able to zoom photos in and out, as well as create, edit or delete comments and tags, share or delete a photo, and report inappropriate photos. All photos and content are loaded asynchronously. User permissions for a photo are controlled through a delegate protocol. No graphic files are required for the gallery as icons are drawn in code.

The library was designed using a state pattern to control the behavior of the gallery, so that other developers can easily modify or add new states without having to understand too much of the original code.

Quick Feature list:

  • Photo Tagging: Create/Edit/Delete

  • Photo Commenting: Create/Edit/Delete

  • Photo Sharing:

  • Photo Reporting:

  • Speficy User Permissions per Photo for commenting, tagging, deletion, reporting, etc.

  • Page Based Scrolling

  • Photos give immediate bounce feedback when single tapped, for a juicy interface feel.

  • Toggle Tags On/Off

  • Pinch, Zoom, Pan Photos with gestures.

  • Scrollable captions, variable lengths with auto-dimming background

  • Show/Hide UI elements with a single tap gesture

  • Asynchronous loading of data

  • Activity Indicator per Photo.

  • Content Mode AspectFit/Center auto detection (prevent photos smaller than the screen from blowing up)

  • Full landscape/portrait orientation support

  • Resolution independent support (iPad/iPhone)

  • Touch and hold comments to copy or delete

  • Flat UI Design

  • Comments icon shows the number of comments posted (if there are any)

  • Other stuff!

License: MIT

Language: Objective-C

by 5 people

(Click the stars to add your rating)

Sponsored with ❤️ by Instabug
Why do mobile-first companies choose Instabug over Crashlytics
Instabug

Instabug helps you identify and resolve severe crashes quickly. You can retrace in-app events and know exactly which line of code caused the crash along with environment details, network logs, repro steps, and the session profiler. Ask more questions or keep users up-to-date with in-app replies straight from your dashboard. We take data privacy seriously, so no one sees your data but you!