SwipablePhotoBrowser 1.0.5

SwipablePhotoBrowser 1.0.5

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2015年10月
SPM支持 SPM

suzuki-0000维护。



  • suzuki_keishi

SwipablePhotoBrowser

一个简单的 PhotoBrowser/Viewer,受 Facebook、Twitter 的图片浏览器启发,使用 swift2.0 编写,基于 IDMPhotoBrowserMWPhotoBrowser

功能

  • 可以通过提供 UIImage 对象或 URL 数组字符串来显示一个或多个图像。
  • 照片可以缩放和拖动,还可以显示可选的标题
  • 类似 Facebook 的简约界面,向上/下滑动即可关闭
  • 可以自定义 photo browser。 (隐藏/显示状态栏,某些控制工具栏,滑动控制)
  • 处理和缓存来自网络的图片

sample

要求

  • iOS 8.0+
  • Swift 2.0+
  • ARC

安装

手动

将代码直接添加到您的项目中。

使用方法

请参阅下面的代码片段以了解如何实现示例,或可以容易地理解示例项目。

// add SwipablePhoto Array from UIImage
var images = [SwipablePhoto]()
let photo = SwipablePhoto.photoWithImage(UIImage())// add some UIImage
images.append(photo) 

// create PhotoBrowser Instance, and present. 
let browser = SwipablePhotoBrowser(photos: images)
browser.initializePageIndex(indexPath.row)
browser.delegate = self
presentViewController(browser, animated: true, completion: {})

从网页 URL

// URL pattern snippet
var images = [SwipablePhoto]()
let photo = SwipablePhoto.photoWithImageURL("https://placehold.jp/150x150.png")
photo.shouldCachePhotoURLImage = false // you can use image cache by true(NSCache)
images.append(photo)

// create PhotoBrowser Instance, and present. 
let browser = SwipablePhotoBrowser(photos: images)
browser.initializePageIndex(0)
presentViewController(browser, animated: true, completion: {})

如果您想使用来自现有视图的缩放效果,请使用另一个初始化器

// e.g.: some tableView or collectionView.
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
   let cell = collectionView.cellForItemAtIndexPath(indexPath) as! ExampleCollectionViewCell
   let originImage = cell.exampleImageView.image! // some image for baseImage 
   let browser = SwipablePhotoBrowser(originImage: originImage, photos: images, animatedFromView: cell) 
   browser.initializePageIndex(indexPath.row)
   presentViewController(browser, animated: true, completion: {})
}

自定义

工具栏

您可以自定义工具栏按钮(返回/前进,计数器)。

  • displayCounterLabel (默认为 true)
  • displayBackAndForwardButton (默认为 true)。如果您完全不希望有工具栏,可以将 displayToolbar 设置为 false(默认为 true)
let browser = SwipablePhotoBrowser(originImage: originImage, photos: images, animatedFromView: cell)
browser.displayToolbar = false                // all tool bar will be hidden
browser.displayCounterLabel = false           // counter label will be hidden
browser.displayBackAndForwardButton = false   // back / forward button will be hidden

图片标题

可以通过在特定的照片上设置 caption 属性,在 PhotoBrowser 的底部简单地显示图片标题

let photo = SwipablePhoto.photoWithImage(UIImage())
photo.caption = "Lorem Ipsum is simply dummy text of the printing and typesetting industry."
images.append(photo)

滑动操作

可以启用/禁用垂直滑动

let browser = SwipablePhotoBrowser(originImage: originImage, photos: images, animatedFromView: cell)
browser.disableVerticalSwipe = true 

状态栏

您可以使用属性强制隐藏状态栏

let browser = SwipablePhotoBrowser(originImage: originImage, photos: images, animatedFromView: cell)
browser.isForceStatusBarHidden = true 

代理

您可以处理一些由代理触发的触发点。

  • didShowPhotoAtIndex(index:Int)
  • willDismissAtPageIndex(index:Int)
  • didDismissAtPageIndex(index:Int)
let browser = SwipablePhotoBrowser(originImage: originImage, photos: images, animatedFromView: cell)
browser.delegate = self

// MARK: - SwipablePhotoBrowserDelegate
func didShowPhotoAtIndex(index: Int) {
// when photo will be shown
}

func willDismissAtPageIndex(index: Int) {
// when PhotoBrowser will be dismissed
}

func didDismissAtPageIndex(index: Int) {
// when PhotoBrowser did dismissed
}

图片来自

许可

在MIT许可下可用。详细信息请查看LICENSE文件。