我有UIViewController
预先进行大量数据处理以呈现UIScrollView
。奇怪的是,即使所有处理/渲染都完成,滚动时UIScrollView
也会非常滞后。
我已经仔细检查过没有正在处理的内容,我甚至没有使用scrollViewDidScroll
委托方法。
我在视图中也有一个UITableView
(目前没有数据)也是滞后的,所以它会影响该视图中的所有内容。 (如果我更改标签,其他任何一个视图都没有显示任何延迟。)
高内存使用会导致这种滞后吗?考虑到我在处理后删除了大部分加载的数据,这似乎很奇怪。还有什么呢?
修改:为了澄清,我的UITableView
目前是空的,所以它不是回收问题。我刚刚提到了UITableView
,因为它不仅仅是滞后的UIScrollView
。
编辑2:正如@MacKentoch指出的那样,使用舍入可能会导致延迟。我从子视图中删除了舍入,并修复了问题。我用这个将方块围成圆圈:
label.layer.cornerRadius = height / 2
label.layer.masksToBounds = true
有更有效的方法吗?
答案 0 :(得分:0)
感谢@MacKentoch建议它可能是圆角。确定问题后,这个SO答案迅速解决了问题:
答案 1 :(得分:0)
关于圆角也可能会产生影响(但我认为不多)。
解决方案:
阴影:来自图片或放置子视图以制作阴影效果
圆角:图片
这就是我的所作所为,有点失败,不能像我想的那样做,但结果还可以。