如果我是UITableViewCell
的子类,那么实际写出子类或使用tableView:cellForRowAtIndexPath:
方法并将我的子视图添加到默认UITableViewCell contentView
更好吗?
答案 0 :(得分:2)
取决于,
如果您不打算在任何其他表中重用该单元格,则可能需要在UITableViewController
子类中对其进行自定义。但是,这仍然不是一个好习惯,因为您可能会对更多委托方法进行更改,例如cellForRowAtIndexPath
或heightForRowAtIndexPath
。
如果要重用该单元格,则应该将UITableViewCell
子类化。
对于静态视图(列表中的一些众所周知的元素),使用许多不同的异构元素(例如设置分组菜单),可以更容易(或更快)地在UITableViewController
中进行自定义而不是继承许多不同风格的单元格。
答案 1 :(得分:1)
我认为在子类化和向contentView添加子视图之间进行选择取决于您想要自定义单元格的程度。如果您只是想添加几个额外的子视图,第二种方法可能没问题。如果你想获得想象力并为setSelected创建自定义动画:animated:,setHighlighted:animated:和setEditing:animated:你显然必须是子类。这个主题在Apple的文档中有所涉及: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW1
此外,无论您使用哪种技术来自定义单元格,都会调用tableView:cellForRowAtIndexPath:。