UIScrollView性能与分页

时间:2014-12-10 12:01:19

标签: ios objective-c ipad uiscrollview

我试图弄清楚如何提高UIScrollView的效果。它是一个具有无限滚动的分页滚动视图。页面在scrollViewDidEndDecelerating中的当前控制器的两个前面和两个后面加载。我的问题是页面是非常复杂的视图控制器。当分页动画完成时,它可以在我再次寻呼之前大约1-2秒。这取决于设备(在iPad Mini上比使用Retina的iPad Mini差2-3倍)。

关于如何解决此问题的任何想法?我认为问题是加载scrollViewDidEndDecelerating中的视图。

这是我在scrollViewDidEndDecelerating中调用的代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MyPageViewController *page = [storyboard instantiateViewControllerWithIdentifier:@"PageVC"];
[self.scrollView addSubview:page.view];

1 个答案:

答案 0 :(得分:0)

  1. 滚动视图及其子类在处理不透明度方面非常糟糕。如果背景是稳定的,请尝试尽可能避免使用不透明背景的子视图。它可能会对滚动性能产生巨大影响
  2. 确保后续页面的加载数据是在后台进行的
  3. 重用视图和查看控制器。只需在现有模型上更新模型,就无需实例化新的视图控制器。创建几个(3-5)页面的池并移动它们,就像UITableView do
  4. 一样
  5. 您始终可以运行Profiler来找到瓶颈
  6. 但无论如何,我打赌你只是通过获取数据和加载新的视图控制器来阻止主线程(负责更新UI)