这几乎是我的问题。我想在表格视图中创建圆形的纯单元格。我在TableViewCell
类中覆盖drawRect(frame: CGRect)
,但是当显示单元格时,设备(模拟器也会)冻结约1秒,调试器显示CPU使用率高达75%。UITableViewCell drawRect()覆盖使设备真的很慢(CPU使用率高峰)
不在于它可能是任何用处的,但这里是我的代码:
override func drawRect(rect: CGRect) {
frame.origin.x = 10
frame.size.width -= 20
}
那么,有没有更简单/更高效/“合法”(有人说中重写的drawRect被认为是“哈克”)的方式简单地使每个细胞比屏幕更窄?
实际的单元格框架将由tableview管理,您可以在'cell.contentView'内添加自己的自定义子视图。为什么你一直在使用drawrect?担心表现? tableview可以高效地缓存和重用单元格。除非您在屏幕上显示1000个单元格,否则您不需要担心绘图的效率 – thelaws
是的,我注意到CPU尖峰只发生在第一个单元格上,然后它工作正常。我会尝试使用子视图。发布它作为答案,所以我会选择它。谢谢! – Lawrence413