美文网首页iOS开发
超赞的图片全屏浏览控件——HZYImageScanView

超赞的图片全屏浏览控件——HZYImageScanView

作者: kuai空调 | 来源:发表于2017-06-18 16:19 被阅读166次
    完美的出现动画.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

    相关文章

      网友评论

      • 海边的1984_:大神给个demo地址呗
        海边的1984_:@kuai空调 在哪里啊,快贴出来给我啊,你怎么这么懒,举手之劳
        kuai空调:@小小流浪的汉子 项目里面有demo:flushed:

      本文标题:超赞的图片全屏浏览控件——HZYImageScanView

      本文链接:https://www.haomeiwen.com/subject/itoiqxtx.html