我有一个自定义的UITableViewCell
,包含一个UILabel
,我想有圆角。就像我之前做过很多次一样,我设置了角落半径,并使用maskToBounds
来编程地做到这一点。单元格本身是在Storyboard中创建的。我从UITableViewCell
的awakeFromNib
方法调用此代码。
- (void)awakeFromNib {
// Initialization code
_distanceLabel.layer.cornerRadius = 2.0;
_distanceLabel.layer.masksToBounds = YES; }
这工作,但我可以看到一个明显的性能问题,现在当tableViewController被推到导航堆栈。在我的设备(iPhone 6)上运行时,tableViewController的动画现在从右滑动时口吃。当我注释出_distanceLabel.layer.masksToBounds = YES;
行时,推动画工作良好,像正常一样平滑滑动。
我做了多年的应用程序,这是我第一次看到这个问题。有人知道这里发生了什么以及如何解决这个问题吗?
首先尝试设置这个,
self.layer.masksToBounds = YES;
或者如果这个解决方案不起作用,那么请尝试以下链接,其中FKNRDCLS以适当的方式给出了非常好的答案,以保护拐角半径对uitableview的负面影响。
基本上uitableview是uiscrollview的子类,所以下面的解决方案可能是解决你的问题。
UILabel layer cornerRadius对性能的负面影响
CornerRadius有时会影响uitableview的性能。