如果使用自定义UITableViewCell,是否需要设置heightForRowAtIndexPath?在我的NIB中,我已经设置了像元高度。
当我超越heightForRowAtIndexPath时,即使将其设置为NIB中定义的高度,也不会显示单元格的内容。
如果不覆盖heightForRowAtIndexPath,则会显示该单元格的内容,但是会溢出,因为默认高度不够大。
最佳答案
如果所有行的高度都相同,则可以设置rowHeight
的UITableView
属性,而不是实现tableView:heightForRowAtIndexPath:
。如果行的高度不同,则必须实现tableView:heightForRowAtIndexPath:
。
这两种方法都不会自动返回您在NIB中定义的单元格的高度,因为在开始使用tableView:cellForRowAtIndexPath:
构造单元格之前会调用它们。
要使用NIB中定义的单元格的高度,建议您定义一个名为prototypeCell
的 Controller 的自定义属性,该属性将容纳一个永远不会在表上显示的单元格。在tableView:heightForRowAtIndexPath:
中,检查prototypeCell
是否为nil。如果是这样,请从您的NIB对其进行初始化。然后返回prototypeCell.frame.size.height
。
关于iphone - 如果使用自定义UITableViewCell,是否需要设置heightForRowAtIndexPath?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2999580/