【发布时间】:2011-07-26 05:44:44
【问题描述】:
我的应用程序包含一个滚动视图,其中包含用户通过修改后的 ELCImagePicker 选择的图像视图。选择的图片通常是 5 MB+ 的高质量照片,用户通常一次选择至少十几张图片。目前,我正在加载如下照片:
-(void)loadViewWithPage: (int)page
{
if (page > 0 && page < [Album count]) {
[scrollView addSubview:[Album objectAtIndex:page]];
}
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)sender
{
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth) / pageWidth) + 1;
[self loadViewWithPage:page + 1];
}
相册是照片存储为 imageViews 的位置。
当用户不想破坏应用程序并一次滚动浏览一张照片时,这非常有用,但当他/她尝试滚动浏览整个选择时会惨遭失败。除非用户在每张照片后停下来,否则页面是空白的。我尝试使用 scrollViewDidScroll ala PageControl 示例,但由于照片都很大,因此滞后非常明显。
有什么方法可以顺利加载照片吗?
【问题讨论】:
-
虽然不是这方面的专家,但有人认为这是 CATiledLayer 的典型用例吗?
标签: iphone uiscrollview uiimageview lazy-loading photos