iOS幻灯片和图像查看器:NYTPhotoViewer

jopen 9年前

NYTPhotoViewer是一个幻灯片和图像查看器,包括支持双击缩放字幕支持多张图片,互动轻击驳回动画缩放展示等等。

Implementation

NYTPhotoViewer has a very standard implementation using built-in frameworks. The viewer is aUIViewControllerand usesUIViewControllertransitioning APIs for the animated and interactive transitions, aUIPageViewControllerfor horizontal swiping between images, andUIScrollViewfor image zooming. It is intended to be used without the need for subclassing, and as such it accepts model objects conforming to aNYTPhotoprotocol and provides ample opportunity for customization via theNYTPhotosViewControllerDelegate. Since standard APIs are used, the client has full control over the transitions and customization of theNYTPhotosViewController.

Usage

Usage 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:

NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithPhotos:photos];  [self presentViewController:photosViewController animated:YES completion:nil];</pre></div>  

Installation

NYTPhotoViewer is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "NYTPhotoViewer"

Requirements

This library requires a deployment target of iOS 7.0 or greater.

Inspiration

NYTPhotoViewer draws feature inspiration from 非死book and Tweetbot's image viewers. If this implementation isn't to your liking, you may want to consider JTSImageViewController or IDMPhotoBrowser.

Swift

NYTPhotoViewer is written in Objective-C but is intended to be fully interoperable with Swift. If you experience any interoperability difficulties, please open an issue or pull request and we will work to resolve it quickly.

TODO

  • Animate bounds changes like Tweetbot and 非死book.
  • Publicly expose the data source property.
  • Carthage support.
  • An additional sample project written in Swift (currently in pull request).

项目主页:http://www.open-open.com/lib/view/home/1427544363387

</span></span>