iOS图片全屏浏览器控件HZYImageScanView(超赞)

释放双眼,带上耳机,听听看~!
完美的出现动画.gif

 

很多app都有全屏查看图片的需求,这个看似简单的功能却很少有app做得完善。我个人使用过的只有苹果原生的照片app,twitter和facebook令我满意。于是趁着最近公司项目需要做这个功能,撸了一个轮子,交互和动画都是高仿照片app,并且使用很简单。

项目地址:https://github.com/timehzy/HZYScanView

我提供了一个UIImageVIew的分类,如果仅仅只要一个imageView的图片可以被全屏查看,那么只要入头文件说明,在imageView初始化的时候调用即可

@interface UIImageView (HZYImageScanView)
/// 初始化imageView时调用此方法使该view支持大图浏览
- (void)enableScan;
@end

如果像类似微博、微信朋友圈那种连续多张图片的情况,则需要使用HZYImageScanView的类方法

+ (void)showWithImages:(NSArray *)imageArray beginIndex:(NSUInteger)index deletable:(BOOL)deletable delegate:(id<HZYImageScanViewDelegate>)delegate;
完美的消失动画.gif

 

如果区分缩略图和大图,则使用可以传入缩略图数组的类方法

+ (void)showWithImages:(NSArray *)imageArray thumbs:(NSArray *)thumbsArray beginIndex:(NSUInteger)index deletable:(BOOL)deletable delegate:(id<HZYImageScanViewDelegate>)delegate;

然后实现两个代理方法即可

/**
当scanView需要用到外部view的frame用于完成dismiss动画时,该方法会被调用
@param index 图片的索引
@return 返回你的图片对应小图view转换到window上的frame
*/
- (CGRect)imageViewFrameAtIndex:(NSUInteger)index forScanView:(HZYImageScanView *)scanView;
- (void)scanView:(HZYImageScanView *)scanView imageDidDelete:(NSInteger)index;
支持旋转.gif

 

我做了几乎能想到的所有事情,如果发现bug或者有改进意见和建议,欢迎回复或去github提issue,谢谢。

项目地址:https://github.com/timehzy/HZYScanView

人已赞赏
iOS文章

iOS 模拟定位,让你在家钉钉打卡!

2020-1-18 17:01:32

iOS文章

MAC显示隐藏文件

2020-1-18 17:07:25

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索