# mwaterfall/mwphotobrowser

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/mwaterfall-mwphotobrowser).**

8,717 stars · 2,661 forks · Objective-C · MIT

## Links

- GitHub: https://github.com/mwaterfall/MWPhotoBrowser
- awesome-repositories: https://awesome-repositories.com/repository/mwaterfall-mwphotobrowser.md

## Description

MWPhotoBrowser is an iOS photo gallery component and media selection tool. It provides a grid-based browser for displaying photos and videos sourced from local storage, system libraries, or web URLs.

The component includes a metadata captioning overlay that maps external text properties to descriptive captions displayed over media. To optimize the browsing experience, it utilizes a disk-based remote media cache that saves web images and videos locally to reduce network requests.

The system supports a media selection workflow allowing users to pick multiple items using checkboxes and state-based tracking. It also integrates with system asset libraries and provides customizable action buttons to trigger specific tasks or system sharing sheets.

## Tags

### Graphics & Multimedia

- [Photo Galleries](https://awesome-repositories.com/f/graphics-multimedia/photo-galleries.md) — Provides a grid-based photo gallery component for browsing media from local storage, system libraries, and web URLs.
- [Multi-Source Media Browsing](https://awesome-repositories.com/f/graphics-multimedia/multi-source-media-browsing.md) — Loads images and videos from local files, web URLs, and system asset libraries into a single unified view. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))
- [Remote Media Loading](https://awesome-repositories.com/f/graphics-multimedia/remote-media-loading.md) — Fetches media content from remote web addresses using asynchronous network requests.
- [Text Overlays](https://awesome-repositories.com/f/graphics-multimedia/text-overlays.md) — Implements text overlays that render descriptive captions directly on top of images and videos.

### Part of an Awesome List

- [Media Selection](https://awesome-repositories.com/f/awesome-lists/media/media-selection.md) — Enables users to pick one or more photos or videos through a grid view or primary viewer. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))
- [Image Loading and Caching](https://awesome-repositories.com/f/awesome-lists/media/image-loading-and-caching.md) — Downloads and stores web-based images locally to reduce network requests and improve performance. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))
- [Media Processing](https://awesome-repositories.com/f/awesome-lists/media/media-processing.md) — Popular photo browser with support for large images.
- [Photo And Video](https://awesome-repositories.com/f/awesome-lists/media/photo-and-video.md) — Photo browser with zoom and caption support.

### Mobile Development

- [Media Selection Interfaces](https://awesome-repositories.com/f/mobile-development/media-selection-interfaces.md) — Provides a dedicated interface for browsing and selecting multiple photos and videos using checkboxes and grid layouts.
- [System Asset Library Integrations](https://awesome-repositories.com/f/mobile-development/system-asset-library-integrations.md) — Provides direct integration with the iOS system photo library to retrieve and display media.

### User Interface & Experience

- [Grid Layout Engines](https://awesome-repositories.com/f/user-interface-experience/grid-layout-engines.md) — Ships a layout engine that calculates dimensions and positions for a scrollable grid of media thumbnails.
- [Grid Layouts](https://awesome-repositories.com/f/user-interface-experience/grid-layouts.md) — Presents media thumbnails in a grid layout for efficient navigation and selection. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))
- [Media Galleries](https://awesome-repositories.com/f/user-interface-experience/media-galleries.md) — Implements a grid-based media gallery for iOS that supports local files and remote web URLs.
- [Metadata-Driven Overlays](https://awesome-repositories.com/f/user-interface-experience/captioned-figures/metadata-driven-overlays.md) — Maps external text properties to UI overlays that display descriptive captions over media.
- [Metadata Overlays](https://awesome-repositories.com/f/user-interface-experience/captioned-figures/metadata-overlays.md) — Implements a system that maps external text properties to descriptive captions displayed over images and videos.
- [Selection State Management](https://awesome-repositories.com/f/user-interface-experience/file-selection-interfaces/selection-state-management.md) — Maintains a synchronized state of active indices to manage multiple selected items across different view layers.
- [Image Viewers](https://awesome-repositories.com/f/user-interface-experience/image-viewers.md) — Provides a customizable image viewer component with support for metadata overlays and captions.
- [Remote Media Loading](https://awesome-repositories.com/f/user-interface-experience/remote-media-loading.md) — Implements utilities for fetching and rendering media assets from external network sources into the gallery view.

### Content Management & Publishing

- [Media Text Overlays](https://awesome-repositories.com/f/content-management-publishing/content-processing-transformation/document-processing-conversion/document-processing/rendering-visualization/dom-based-content-renderers/media-text-overlays.md) — Overlays descriptive metadata as text on top of media using custom view implementations. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))

### Data & Databases

- [Network Image Caching](https://awesome-repositories.com/f/data-databases/data-caching/remote-dataset-caching/network-image-caching.md) — Utilizes a disk-based cache to save network-fetched images locally, reducing data usage and improving scroll performance.
- [Local Disk Caching](https://awesome-repositories.com/f/data-databases/object-storage/remote-object-storage-integrations/local-disk-caching.md) — Implements local disk caching of remote images and videos to reduce network requests during scrolling.

### Software Engineering & Architecture

- [Dynamic Media Captions](https://awesome-repositories.com/f/software-engineering-architecture/metadata-attachments/image-captions/dynamic-media-captions.md) — Displays customizable text descriptions for images and videos to provide additional context to the viewer. ([source](https://github.com/mwaterfall/mwphotobrowser#readme))
