這幾乎是我的問題。我想在表格視圖中創建圓形的純單元格。我在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