ios - UITableViewCell 在 subview 性能问题中调用 .layer.maskToBounds = YES

标签 ios performance uitableview uinavigationcontroller awakefromnib

<分区>

我有一个自定义的 UITableViewCell,其中包含一个我想要圆角的 UILabel。就像我在设置拐角半径并使用 maskToBounds 以编程方式执行此操作之前已经做过很多次一样。单元格本身是在 Storyboard 中创建的。我从 UITableViewCellawakeFromNib 方法调用此代码。

- (void)awakeFromNib {

// Initialization code
_distanceLabel.layer.cornerRadius = 2.0;
_distanceLabel.layer.masksToBounds = YES; }

这行得通,但是当 tableViewController 被推送到导航堆栈时,我现在可以看到一个明显的性能问题。当 tableViewController 在我的设备 (iPhone 6) 上运行时从右侧滑入时,它的动画现在会断断续续。当我注释掉行 _distanceLabel.layer.masksToBounds = YES; 时,推送动画工作正常并且像正常情况一样平滑地滑动。

我多年来一直在制作应用程序,这是我第一次看到这个问题。任何人都知道这里发生了什么以及如何解决这个问题?

最佳答案

首先尝试设置这个,

self.layer.masksToBounds = YES;

或者如果此解决方案不起作用,请尝试以下链接,其中 fknrdcls关于保护角半径对 uitableview 的负面影响,以适当的方式给出了很好的答案。
uitableview 基本上是 uiscrollview 的子类,因此,以下解决方案可能会解决您的问题。

UILabel layer cornerRadius negatively impacting performance

CornerRadius 有时会影响 uitableview 的性能。

关于ios - UITableViewCell 在 subview 性能问题中调用 .layer.maskToBounds = YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33035124/

上一篇:ios - 应用程序在启动时崩溃

下一篇:ios - 将 JSON 转换为自定义对象时出错

相关文章:

c# - 有没有更快的方法来克隆项目列表?

java - 用高效的加入和满足操作来代表反链

Javascript 样式与 CSS 样式表

objective-c - UITextField 自动完成

swift - Swift-显示带有动画的标题

ios - 在 iOS 7 中完成某些操作后显示文本警报

ios - 使用 Swift 3 显示来自核心数据的随机数据

objective-c - 使用动画以编程方式重新排序 UITableView 行

ios - NSURLSession 返回元组的问题

ios - 如何保存和再次加载列表?