Iphone 消除过渡期间实施UIScrollView相册时出现的问题
已经实现了一个UIScrollView相册,其中在调用Iphone 消除过渡期间实施UIScrollView相册时出现的问题,iphone,ios,uiscrollview,uiscrollviewdelegate,Iphone,Ios,Uiscrollview,Uiscrollviewdelegate,已经实现了一个UIScrollView相册,其中在调用ScrollViewDiEndDraging时会生成+2和-2定位的子视图,但是添加子视图是一个代价高昂的操作,因此滑动过程不是很顺利。拖动结束时,屏幕有点粘。 我甚至尝试过使用NSTimer或performSelector延迟调用,但如果用户快速浏览所有图像,则会立即调用所有延迟调用,有时会导致应用程序崩溃 -(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDece
ScrollViewDiEndDraging
时会生成+2和-2定位的子视图,但是添加子视图是一个代价高昂的操作,因此滑动过程不是很顺利。拖动结束时,屏幕有点粘。
我甚至尝试过使用NSTimer
或performSelector
延迟调用,但如果用户快速浏览所有图像,则会立即调用所有延迟调用,有时会导致应用程序崩溃
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
flyNumber = (NSInteger)(imageScrollView.contentOffset.x/imageScrollView.frame.size.width);
[self createM2P2SubView];
//[self performSelector:@selector(createM2P2SubView) withObject:nil afterDelay:0.1];
//[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(createM2P2SubView) userInfo:nil repeats:NO];
NSLog(@"End dragging ...... %d",flyNumber);
}
请提供一个解决方案来消除这个问题。创建视图是一个昂贵的操作,但这基本上就是表视图所做的。当新单元格出现在屏幕上时,它会动态创建视图,并重用视图,因为创建视图的成本很高 尝试使用时间分析器和动画分析器分析代码,以找到瓶颈 尝试重用在+2/-2偏移处插入的视图以加快速度 还有一个巧妙的技巧是使用UITableView而不是自我管理的UIScrollView。如果需要它是水平的,那么只需对表视图应用旋转变换即可 既然你提到了“相册”这个词就是你的标题,我假设每个视图都需要加载和显示一些图像?与同步加载图像不同,我将使其异步,并使用微调器或其他工具为相册图像加载状态提供指示器