0

如果我UITableViewCell将 a 子类化,实际上写出一个子类或使用该tableView:cellForRowAtIndexPath:方法并将我的子视图添加到默认值是更好的做法UITableViewCell contentView吗?

4

2 回答 2

2

这取决于,

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

如果你要重用那个单元格,你应该子类化UITableViewCell.

对于静态视图(列表中一些众所周知的元素),具有许多不同的异构元素(例如设置分组菜单),可以更容易(或更快)在 中进行自定义UITableViewController,而不是继承许多不同样式的细胞。

于 2013-06-11T17:11:06.787 回答
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:。

于 2013-06-11T16:29:23.597 回答