我创建了 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/