{"id":1446,"url":"https://github.com/NYTimes/NYTPhotoViewer","last_synced_at":"2025-08-02T04:31:22.258Z","repository":{"id":27175681,"uuid":"30645412","full_name":"nytimes/NYTPhotoViewer","owner":"nytimes","description":"A modern photo viewing experience for iOS.","archived":false,"fork":false,"pushed_at":"2024-02-26T17:19:45.000Z","size":42006,"stargazers_count":2859,"open_issues_count":80,"forks_count":378,"subscribers_count":111,"default_branch":"develop","last_synced_at":"2024-10-29T15:33:13.583Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://open.blogs.nytimes.com/2015/03/27/a-new-view-for-nytimes-photos/","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nytimes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-11T11:50:50.000Z","updated_at":"2024-10-27T12:25:50.000Z","dependencies_parsed_at":"2024-06-18T11:14:11.189Z","dependency_job_id":null,"html_url":"https://github.com/nytimes/NYTPhotoViewer","commit_stats":{"total_commits":785,"total_committers":50,"mean_commits":15.7,"dds":0.5681528662420382,"last_synced_commit":"1d42d8b502c964c2d13aa128ae1db84d40ec1cb6"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nytimes%2FNYTPhotoViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nytimes%2FNYTPhotoViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nytimes%2FNYTPhotoViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nytimes%2FNYTPhotoViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nytimes","download_url":"https://codeload.github.com/nytimes/NYTPhotoViewer/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227345562,"owners_count":17767963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-01-05T20:15:46.644Z","updated_at":"2024-12-06T08:31:05.431Z","avatar_url":"https://github.com/nytimes.png","language":"Objective-C","funding_links":[],"categories":["Media","UI"],"sub_categories":["Image","Other free courses"],"readme":"# NYTPhotoViewer\n\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n\nNYTPhotoViewer is a slideshow and image viewer that includes double-tap to zoom, captions, support for multiple images, interactive flick to dismiss, animated zooming presentation, and more.\n\n![Demo GIF](Documentation/photo_viewer.gif)\n\n## Usage\n\nUsage is simple, with the option for more complicated customization when needed through a delegate relationship. In the most basic implementation, just initialize the view controller with an array of photo objects and present it as normal:\n\n```objc\nNYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithPhotos:photos];\n[self presentViewController:photosViewController animated:YES completion:nil];\n```\n\n## Running the Example\n\nClone this locally, then in your local workspace of the `NYTPhotoViewer` repo, run `./scripts/bootstrap`, then open Examples/NYTPhotoViewer.xcworkspace. You'll see targets for a Swift and Objective-C app.\n\n## Installation\n\n### Swift Package Manager\n\nNYTPhotoViewer may be installed via SPM, by pointing at this repo's URL.\n\n### Cocoapods\n\nNYTPhotoViewer is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your `Podfile`:\n\n```ruby\npod 'NYTPhotoViewer'\n```\n\n### Carthage\n\nNYTPhotoViewer may be installed via [Carthage](https://github.com/Carthage/Carthage). To install it, simply add the following line to your `Cartfile`:\n\n```\ngithub \"NYTimes/NYTPhotoViewer\"\n```\n\nThen, following the instructions for [integrating Carthage frameworks into your app](https://github.com/Carthage/Carthage#if-youre-building-for-ios-tvos-or-watchos), link the `NYTPhotoViewer` and `PINRemoteImage` frameworks into your project.\n\nIf you don't want support for animated GIFs, you may instead link against only the `NYTPhotoViewerCore` framework.\n\n## Requirements\n\nThis library requires a deployment target of iOS 9.0 or greater.\n\n## Changelog\n\nSee [`CHANGELOG.md`](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/CHANGELOG.md).\n\n## Contributing\n\nPlease **open pull requests against the `develop` branch**, and add a relevant note to the [`develop` section of the CHANGELOG](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/CHANGELOG.md#develop) as part of your pull request.\n\n## Swift\n\nNYTPhotoViewer is written in Objective-C but is fully interoperable with Swift. If you experience any interoperability difficulties, please open an issue or pull request and we will work to resolve it.\n\n## Inspiration\n\nNYTPhotoViewer draws feature inspiration from Facebook and Tweetbot’s image viewers. If this implementation isn’t to your liking, you may consider [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) or [IDMPhotoBrowser](https://github.com/ideaismobile/IDMPhotoBrowser).\n\n## Implementation\n\nNYTPhotoViewer has a straightforward implementation using standard UIKit components. The viewer is a `UIViewController` and uses `UIViewController` transitioning APIs for the animated and interactive transitions, a `UIPageViewController` for horizontal swiping between images, and `UIScrollView` for image zooming.\n\nIt is intended to be used without the need for subclassing, and as such it accepts model objects conforming to a `NYTPhoto` protocol and provides ample opportunity for customization via the `NYTPhotosViewControllerDelegate`. Since standard APIs are used, the client has full control over the transitions and customization of the `NYTPhotosViewController`.\n\n## License\n\nNYTPhotoViewer is available under the Apache 2.0 license. See [`LICENSE.md`](https://github.com/NYTimes/NYTPhotoViewer/blob/develop/LICENSE.md) for more information.\n\n## Contributors\n\n[A list of contributors is available through GitHub.](https://github.com/NYTimes/NYTPhotoViewer/graphs/contributors)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNYTimes%2FNYTPhotoViewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNYTimes%2FNYTPhotoViewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNYTimes%2FNYTPhotoViewer/lists"}