支持多图片显示,滑动,拖拽下拉返回,捏合,单双击等手势,支持本地和网络图片,支持自定义本地图片显示(传image数组和imageName数组等等,可以自定义)
网络图片显示第三方支持kingfisher和SDWebImage两种方案
使用很简单,一行代码即可
_ = HomedPhotoViewList.showView(isUrl : resultBlock == nil, imgArray : dataSource, currentIndex : indexPath.row, parentVC : self, selectBlock: { (index:Int) -> (UIImageView)in
let cell:UICollectionViewCell? = collectionView.cellForItem(at:NSIndexPath(item: index, section : 0) as IndexPath)
if cell == nil { //can not be nil
return UIImageView()
}
return cell!.contentView.viewWithTag(imgViewTag) as! (UIImageView)
}, resultBlock:resultBlock
此处用不着返回的view就用_代替了,resultBlock是本地图片情况下传参dataSource中的object转化成image的block
resultBlock = { (name:Any) -> (UIImage) in
return UIImage.init (named: name as ! String)!
}
显示如下图:
支持点击保存到本地,分享到微信等第三方应用
selectBlock主要是用cell上的图片来实现返回时的动画
更多效果见代码
使用时 pod 'WYPhotoViewList' #dependencies Kingfisher MBProgressHUD
网友评论