ios - 如何根据其中的组件设置 UITableViewCell 高度

标签 ios objective-c uitableview

我创建了 UITableViewCell 的子类,其中包含 UITextView。设置 UITextView 中的文本后,它会自动调整大小,以便高度增加但宽度保持不变。

我现在想使用下面所示的方法根据其中 UITextView 的高度动态设置每个 UITableViewCell 的高度。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Some code to pull in the subclassed UITableViewCell & set 
    // the height based on the UITextView within it.
}

请有人建议如何/是否可能?需要明确的是,从这个方法获取我的自定义单元给我带来了问题,显然我可以直接转换它,但这对我来说似乎不正确。请有人建议如何做到这一点?

最佳答案

创建一个具有正确宽度的UITextView,然后在textview上设置文本。 调用[textview sizeToFit]。从 textview 获取高度,然后添加所需的任何额外高度,使其等于 UITableViewCell 子类中的高度。

使用 NSString 的 sizeWithFont:constrainedToSize:lineBreakMode: 会很好,但根据我的经验,这通常会在与相同大小的 UITextView 不同的位置中断字符串,因此它不可靠。您的文本在 UITextView 中需要的行数通常比 NSString 的 sizeWithFont:constrainedToSize:lineBreakMode: 建议的行数多或少。

关于ios - 如何根据其中的组件设置 UITableViewCell 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14488446/

相关文章:

ios - cellForRowAtIndexPath 被调用但没有堆栈跟踪

objective-c - 如何以编程方式在 iPad 上显示导航 Controller 的下拉列表?

uitableview - 启动应用程序 xCode 时的 EXC_BAD_INSTRUCTION 断点

ios - UIScrollView - 无需快照即可恢复到起始位置

iphone - iOS:如何处理图片?

ios - 设置在 uitableview 单元格中添加的 uilabel 文本

ios - 应用程序在 iPhone 上打开之前崩溃

ios - 使用 Storyboard?.实例化返回 "Unexpectedly found nil"错误

iphone - 在 Objective-C 中对特定方法进行基准测试

ios - 带有互联网连接案例的 XCTestCase