如何解决图片太多太大问题

ApayandAhaverst 2017-09-29 11:01:28
最近我遇到一个问题,在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;
}
在这里我添加了一张默认的图片,但是在使用的时候还是很别扭,哪位大神帮帮忙呀?
...全文
426 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-10-12
  • 打赏
  • 举报
回复
只需要创建三个 uiimageView就行,实现重用,不然会卡的, https://github.com/liranhao/SZScrollView 这是一个demo
dirdirdir3 2017-10-09
  • 打赏
  • 举报
回复
一次加载3张,左右都加载上。
不担心 2017-10-08
  • 打赏
  • 举报
回复
刚加载完的时候应该没有触发scrollViewDidEndDecelerating方法,所以会出现空白 你在加载完scrollview之后手动执行一下scrollViewDidEndDecelerating里的代码不就行了吗?

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧