A customizable iOS image and video picker with album navigation, camera integration, and built-in video editing.
Gallery is an iOS library that provides a customizable image and video picker for iPhone and iPad apps. It allows users to select photos and videos from their device's library or capture new ones with the camera, and includes built-in video editing tools for trimming and adjusting media. The library solves the need for a native-feeling, feature-rich media picker without requiring external dependencies.
iOS developers building apps that require media selection functionality, such as social, messaging, or content creation applications. It's particularly useful for projects needing integrated video editing alongside picking.
Developers choose Gallery for its zero-dependency design, extensive customization options, and unique video editing capabilities built directly into the picker. It offers a faster, more tailored alternative to Apple's default pickers or heavier third-party solutions.
📹 Your next favorite image and video picker
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Gallery has no external library requirements, keeping the project lightweight and reducing integration conflicts, as emphasized in the README's 'zero dependencies' claim.
Includes VideoEditor and AdvancedVideoEditor for trimming, resizing, and quality adjustment, streamlining video workflows without separate tools, as shown in the delegate example.
Via Config structs, developers can customize fonts, icons, tabs, and editor settings to match app branding, with options detailed in the README's configuration section.
Manages photo and camera permissions automatically, reducing boilerplate code for iOS compliance, though it requires proper Info.plist entries as noted.
Content controllers load only on navigation, providing faster initial launch times compared to pre-loaded pickers, a key philosophy mentioned in the README.
Only supports selecting one video at a time in the Videos tab, as admitted in the README, which hinders apps needing multi-video workflows.
Requires developers to implement or integrate an external lightbox library for image display, since Gallery delegates this via requestLightbox, adding complexity.
The extensive Config options can be overwhelming, requiring significant setup time and deep understanding of the library's structure for custom UI implementations.
Lacks in-depth tutorials for features like video editing, relying on basic examples that may not cover edge cases or advanced use scenarios.