iphone - 如果我使用自定义 UITableViewCell,是否需要设置 heightForRowAtIndexPath?

标签 iphone objective-c cocoa-touch uitableview interface-builder

如果我使用自定义 UITableViewCell,是否需要设置 heightForRowAtIndexPath?在我的 NIB 中,我已经设置了单元格高度。

当我覆盖 heightForRowAtIndexPath 时,我的单元格的内容不会出现,即使它被设置为 NIB 中定义的高度。

如果我不覆盖 heightForRowAtIndexPath,单元格的内容会出现,但会出现溢出,因为默认高度不够大。

最佳答案

如果所有行的高度都相同,则可以设置 UITableViewrowHeight 属性,而不是实现 tableView:heightForRowAtIndexPath: .如果你有不同高度的行,那么你必须实现 tableView:heightForRowAtIndexPath:

这些方法都不会自动返回您在 NIB 中定义的单元格的高度,因为它们在您开始在 tableView:cellForRowAtIndexPath: 中构建单元格之前被调用。

要使用在您的 NIB 中定义的单元格的高度,我建议您为您的 Controller 定义一个名为 prototypeCell 的自定义属性,它将包含一个永远不会显示在您的表格上的单元格。在 tableView:heightForRowAtIndexPath: 中,检查 prototypeCell 是否为 nil。如果是,请从您的 Nib 初始化它。然后返回prototypeCell.frame.size.height

关于iphone - 如果我使用自定义 UITableViewCell,是否需要设置 heightForRowAtIndexPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999580/

相关文章:

iPhone/iOS : How to implement Drag and Drop for subviews of a Scrollview?

iOS Sqlite 数据库不显示第一条记录

iphone - 添加 ASIHTTPRequest 时收到 apple O Linker Error

ios - 禁用背景触摸 SpriteKit iOS

ios - 未调用 UIAlertAction 完成 block - iOS

iphone - 对初级 iOS 应用程序的改进

ios - 如何使用单个 Storyboard为不同的屏幕尺寸(例如 : iPhone 3. 5",4",4.7"and 5.5")设置不同的约束?

iphone - 如何实现全局 iPhone 异常处理?

iPhone - NSKeyedUnarchiver 内存泄漏

iphone - 如何使用 RubyMotion 检测 UISlider 是否被点击?