【问题标题】:iPhone imageView layer masksToBound leads to slow scrollingiPhone imageView层masksToBounds导致滚动慢
【发布时间】: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


【解决方案1】:

2008 年 12 月 12 日,Tweetie iPhone 应用程序的制造商发布了一个很好的示例,他如何完成UITableView 滚动而没有通常需要的锯齿/粗糙度。

看到这篇文章:

Fast Scrolling in Tweetie with UITableView

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
相关资源
最近更新 更多