编程开发 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> IOS开发 -> 如何解决图片太多太大问题 -> 正文阅读
 

[IOS开发]如何解决图片太多太大问题[第1页]

ios 循环滚动 UIScrollView的嵌套
最近我遇到一个问题,在ios开发中做一个类似于手机相册的功能,具体内容如下:
       1.有一个200/300百张的图片数组放在沙河中,做一个左右手动的轮播图,每张图都要可以实现缩放问题。
       2.差不多已经实现了,就是利用scrollView的嵌套,由于加载是一张张的,导致首次在滚动的过程中会出现空白。
主要代码如下:
       //结束减速
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    if (scrollView == self.sv) {
        int index = scrollView.contentOffset.x / scrollView.frame.size.width;
        NSString *filePath = [fileDestination stringByAppendingString:@"/images"];
        NSString *imagePath =[NSString stringWithFormat:@"/%@/%@",filePath,self.imageArr[index]];
        UIImageView *imv = [self.imageViews objectAtIndex:index];
        imv.image = [UIImage imageWithContentsOfFile:imagePath];
    }
}
- (UIScrollView *)sv {
    if(_sv == nil) {
        _scrollViews = [[NSMutableArray<UIScrollView *> alloc] init];
        _imageViews = [[NSMutableArray <UIImageView *> alloc]init];
        
        _sv = [[UIScrollView alloc] initWithFrame:(CGRectMake(0, 64, KScrollViewWidth,  KScrollViewHeight - 128))];
        _sv.contentSize = CGSizeMake(KScrollViewWidth * self.imageArr.count, KScrollViewHeight - 128);
        _sv.delegate = self;
        CGFloat x = self.index * KScrollViewWidth;
        _sv.contentOffset = CGPointMake(x, 0);
        _sv.pagingEnabled = YES;
        //_sv是横向滚动的股东栏
        [self.view addSubview:_sv];
        for (int i = 0; i < self.imageArr.count; i ++) {
            UIScrollView * scrollView = [[UIScrollView alloc] initWithFrame:(CGRectMake(KScrollViewWidth * i, 0, KScrollViewWidth, KScrollViewHeight - 128))];
            scrollView.minimumZoomScale = 1;
            scrollView.maximumZoomScale = 10;
            [_sv addSubview:scrollView];
            scrollView.delegate = self;
            UIImageView *iv = [[UIImageView alloc] initWithFrame:(CGRectMake(0, 0, KScrollViewWidth, KScrollViewHeight - 128))];
            NSString *filePath = [fileDestination stringByAppendingString:@"/images"];
             [iv setImage:[UIImage imageNamed:@"789.png"]];
            if (self.index == i) {
                NSString *imagePath =[NSString stringWithFormat:@"/%@/%@",filePath,self.imageArr[i]];
                iv.image = [UIImage imageWithContentsOfFile:imagePath];
            }
            
            self.icon = iv;
            iv.contentMode = UIViewContentModeScaleAspectFit;
            [scrollView addSubview:iv];
            iv.tag = 1000;
            [self.imageViews addObject:iv];
            [self.scrollViews addObject:scrollView];
        }
    }
    return _sv;
}
在这里我添加了一张默认的图片,但是在使用的时候还是很别扭,哪位大神帮帮忙呀?


回复:
刚加载完的时候应该没有触发scrollViewDidEndDecelerating方法,所以会出现空白
你在加载完scrollview之后手动执行一下scrollViewDidEndDecelerating里的代码不就行了吗?

回复:
一次加载3张,左右都加载上。

回复:
只需要创建三个 uiimageView就行,实现重用,不然会卡的,
https://github.com/liranhao/SZScrollView
这是一个demo

回复:
  IOS开发 最新文章
求大神们的指点!
DrawRect方法怎么在ViewController里调用?
请教下socket和http在客户端网络请求中的区
iOS app怎么限制使用地区?
Xcode升级到9.0后遇到的问题,1 duplicate
求iOS11.0.2 真机测试包~
iOS DLNA开发,有做过同样功能的朋友求解救
base64解密求助
北京PK10稳赚技巧群473727795之选号技巧
oc和c++混编
上一篇文章      下一篇文章      查看所有文章
加:2017-10-30 04:17:28  更:2017-10-30 04:20:38 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年11日历
2018-11-18 9:47:27
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库