我在我的UIScrollView中添加了第三个集合视图,它似乎产生了一些明显的滚动延迟。
视图层次结构如下(因为我还不能上传图像):
UIView
-->UIScrollView (large content size 230, 1100)
---->UIView for content
------>UIImageView (background image)
------>UIScrollView
------>UIView
------>PageControl
------>UICollectionView
------>UICollectionView
------>UICollectionView
------>Six labels
实际的UICollectionView的水平滚动非常漂亮,只是主UIScrollView在上下滚动时有轻微的滞后。
在添加第三个UICollectionView之前根本没有延迟,它使用了一个不同的类作为它的单元格。
似乎只有当所有三个集合视图同时出现在屏幕上时才会有延迟。
唯一实现的委托方法是scrollViewDidScroll,它只是简单地调整其中一个子视图的大小,所以我认为这根本不会影响它。
只是因为它不能同时处理屏幕上的三个UICollectionView吗?我本以为它能轻松应对。有什么明显的优化我可以做的吗?
发布于 2013-04-15 18:11:05
在经历了相当长的一段时间之后,我终于找到了这个问题。它与集合视图无关,它们只是突出了更深层次的问题。
我在视图中添加了一些阴影效果,我不知道这会对性能造成如此大的影响。当视图控制器被放在导航控制器中时,情况会更糟。
self.view.layer.shadowOpacity = 0.75f;
self.view.layer.shadowRadius = 10.0f;
self.view.layer.shadowColor = [UIColor blackColor].CGColor;
任何在UIScrollViews或UICollectionViews中遇到性能问题的人,请确保不要犯我的错误。删除这三行代码并不能让滚动变得非常流畅。
https://stackoverflow.com/questions/15989751
复制