UITableViewCell子类?

时间:2013-06-11 16:19:03

标签: ios uitableview subclass

如果我是UITableViewCell的子类,那么实际写出子类或使用tableView:cellForRowAtIndexPath:方法并将我的子视图添加到默认UITableViewCell contentView更好吗?

2 个答案:

答案 0 :(得分:2)

取决于,

如果您不打算在任何其他表中重用该单元格,则可能需要在UITableViewController子类中对其进行自定义。但是,这仍然不是一个好习惯,因为您可能会对更多委托方法进行更改,例如cellForRowAtIndexPathheightForRowAtIndexPath

如果要重用该单元格,则应该将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:。