【发布时间】:2011-02-21 02:05:52
【问题描述】:
我有一个UITableView,其中包含大约 30 个单元格,一次可以查看 5 个。
在每个单元格中,我有 2 个UILabels 和 1 个UIImageView。
我使用 CALayer 来渲染带有圆形边框的图像视图。
myImageView.layer.masksToBounds = YES;
myImageView.layer.cornerRadius = 2.5;
myImageView.layer.borderWidth = 1.0;
myImageView.layer.borderColor = [[UIColor lightGrayColor] CGColor];
尤其是masksToBounds 行使设备上的滚动速度极慢。
我不能把头放在子类单元格上并自己画矩形。 (想要 2 行的 NSStrings 后我失败了)
有没有办法在不影响性能的情况下使用 CALayers maskToBounds?
【问题讨论】:
-
检查减速是否是由图层动画引起的可能会有所帮助。我不知道如何检查你的情况,但我也遇到过类似的事情。一旦我禁用了动画,它就可以正常工作了。
-
你能详细说明你的意思吗?如何禁用动画?显示的代码是我的应用程序中唯一的 CALayer 代码。
-
将 layer.speed 更改为 20 之类的高得离谱的值。它会加速吗?不幸的是,我仍在学习如何自己禁用动画,所以我无法帮助你。设置速度将有助于确定动画是否导致减速,但这不是一个好的永久解决方案。
标签: iphone core-animation uiimageview calayer