NYTPhotoViewer
NYTPhotoViewer 是一款具有双击缩放、字幕、支持多张图片、交互式滑动退出、带有动画效果的缩放演示等多种功能的幻灯片和图片查看器。
用法
用法很简单,当需要更复杂的自定义时,可以通过代理关系进行。在最基本的实现中,只需用照片对象的数组初始化视图控制器,并按正常方式显示即可。
NYTPhotosViewController *photosViewController = [[NYTPhotosViewController alloc] initWithPhotos:photos];
[self presentViewController:photosViewController animated:YES completion:nil];
运行示例
在此本地克隆,然后在 NYTPhotoViewer
仓库的本地工作空间中,运行 ./scripts/bootstrap
,然后打开 Examples/NYTPhotoViewer.xcworkspace。您将看到 Swift 和 Objective-C 应用的目标。
安装
Swift 包管理器
NYTPhotoViewer 可以通过 SPM 安装,只需指向此存储库的 URL。
CocoaPods
NYTPhotoViewer 可通过 CocoaPods 获取。要安装它,只需在您的 Podfile
中添加以下行:
pod 'NYTPhotoViewer'
Carthage
NYTPhotoViewer 可以通过 Carthage 安装。要安装它,只需在您的 Cartfile
中添加以下行:
github "NYTimes/NYTPhotoViewer"
然后,按照 将 Carthage 框架集成到您的应用中的说明,将 NYTPhotoViewer
和 PINRemoteImage
框架链接到您的项目中。
如果您不需要支持动画 GIF,您可以只链接到 NYTPhotoViewerCore
框架。
要求
此库需要 iOS 9.0 或更高版本的部署目标。
更新日志
请参阅 CHANGELOG.md
。
贡献
请将拉取请求(pull requests)提交给 develop 分支,并且在您的拉取请求中为 develop
部分的 CHANGELOG 添加一个相关注释。
Swift
NYTPhotoViewer 使用 Objective-C 编写,但与 Swift 兼容性良好。如果您遇到任何互操作性困难,请创建一个问题或拉取请求,我们将努力解决。
灵感来源
NYTPhotoViewer 从 Facebook 和 Tweetbot 的图片查看器中汲取了功能灵感。如果您不喜欢这种实现方式,可以考虑使用 JTSImageViewController 或 IDMPhotoBrowser。
实现
NYTPhotoViewer 使用标准的 UIKit 组件实现得非常简单。查看器是一个 UIViewController
,并使用 UIViewController
过渡 API 实现动画和交互式过渡,使用 UIPageViewController
实现横向滑动图片,以及使用 UIScrollView
进行图片缩放。
它设计为无需子类即可使用,因此它接受遵循 NYTPhoto
协议的模型对象,并通过 NYTPhotosViewControllerDelegate
提供大量自定义机会。由于使用了标准的 API,客户端可以完全控制 NYTPhotosViewController
的过渡和自定义。
许可
NYTPhotoViewer 在 Apache 2.0 许可下提供。有关更多信息,请参阅 LICENSE.md
。