前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS自定义视图之【大图浏览器】(应用场景:查看风险商户证明材料时图片支持滑动切换)

iOS自定义视图之【大图浏览器】(应用场景:查看风险商户证明材料时图片支持滑动切换)

作者头像
公众号iOS逆向
发布2021-03-24 14:02:06
5010
发布2021-03-24 14:02:06
举报
文章被收录于专栏:iOS逆向与安全

引言

从CSDN下载Demo源码:https://download.csdn.net/download/u011018979/16039540

  • 应用场景:查看多张大图,比如查看风险商户的证明材料,图片支持滑动切换
  • 文章:https://blog.csdn.net/z929118967/article/details/115077471
  • 主要功能:进入查看器之后,可左右滑动查看上/下张,并支持下滑视图退出查看器

在这里插入图片描述

I 、用法

1.1 处理查看大图事件

  • 用法一:采用模型数据进行传递

避免多个数组下标不一致问题

代码语言:javascript
复制
- (void)showImageBrowser:(QCTCollectionModel*)m
{
    

        [self setupImageBrowserModels];

    
    KNImageBrowserViewController * imageBrowserViewController = [[KNImageBrowserViewController alloc] initWithImageBrowserModels:self.viewModel.ImageBrowserModels selectPage:m.selectPage];
    
//    KNImageBrowserViewController * imageBrowserViewController = [[KNImageBrowserViewController alloc] initWithUrlStr:imageUrls originImageViews:imageView4smalls selectPage:m.selectPage];
    
        
    
    [self presentViewController:imageBrowserViewController animated:YES completion:nil];
}


  • 用法二:废弃
代码语言:javascript
复制
- (void)showImageBrowser {
    KNImageBrowserViewController * imageBrowserViewController = [[KNImageBrowserViewController alloc] initWithUrlStr:self.imageUrls originImageViews:self.originImageViews selectPage:self.selectPage];
    [self.controller presentViewController:imageBrowserViewController animated:YES completion:nil];
}

II、demo

2.1 数据模型

代码语言:javascript
复制
@interface KNImageBrowserModel : NSObject
/**
大图的图片地址
*/
@property(nonatomic,copy)NSString * urlStr;
/**
小图原始的imageView,用于加载大图时的展位图片
*/
@property(nonatomic,weak)UIImageView * smallImageView;

  • 构建数据模型:KNImageBrowserModel
代码语言:javascript
复制
        KNImageBrowserModel * imageBrowserModel = [[KNImageBrowserModel alloc] init];
        imageBrowserModel.smallImageView = imageView;
        
        
        
        
        imageBrowserModel.urlStr = urlStr;

代码语言:javascript
复制

- (void)setupImageBrowserModels{
    
    
//    NSArray *imageView4smalls = [self.viewModel.collectionDataArray valueForKeyPath:@"@distinctUnionOfObjects.imageView4small"];//arDistinct是一些含有originalAddress属性的对象集合

    //
//    NSArray *imageUrls = [self.viewModel.collectionDataArray valueForKeyPath:@"@distinctUnionOfObjects.originalAddress"];//arDistinct是一些含有originalAddress属性的对象集合

    self.viewModel.ImageBrowserModels  =  [NSMutableArray array];
    
    
    for ( QCTCollectionModel  *obj in  self.viewModel.collectionDataArray) {
        
        KNImageBrowserModel * imageBrowserModel = [[KNImageBrowserModel alloc] init];
        imageBrowserModel.smallImageView = obj.imageView4small;
        
        imageBrowserModel.urlStr = obj.originalAddress;

        [self.viewModel.ImageBrowserModels addObject:imageBrowserModel];

    }
    
    

}


2.2 向下滑动触发退出操作。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 iOS逆向 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • I 、用法
    • 1.1 处理查看大图事件
    • II、demo
      • 2.1 数据模型
        • 2.2 向下滑动触发退出操作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档