超赞的图片全屏浏览控件——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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容