就我而言,我将如何调整 a的大小以适应它包含UITableViewCell
的 a 的高度?UITextView
我目前正在尝试使用以下代码来实现这一点:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// init the font that we use
UIFont *font = [UIFont fontWithName:@"SourceSansPro-Regular" size:16];
if (indexPath.section == 0) {
// get the text size of the thread
CGSize textSize = [_thread.text sizeWithFont:font constrainedToSize:CGSizeMake(280, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
return textSize.height + 20;
}
// default
return 60;
}
我觉得如果我可以访问UITableViewCell
in 这个方法,那么我可以使用 in 它的contentSize
属性UITextView
,然后返回它。但我认为在执行流程的这一点上是不可能的。
我不能只调整那个缓冲区,因为它不会随着 get size 函数返回的文本大小而缩放。文本越短,缓冲区越大越明显。
这是调整 的高度UITableViewCell
,但并没有显示它的所有UITextView
内部。我已经UITextView
在sizeWithFont:constrainedToSize:lineBreakMode:
方法中指定了 的宽度,即280
. 我已经指定我希望基本上没有最大高度,以便它可以使用CGFLOAT_MAX
常量尽可能多地自动换行。我将一个单位缓冲区附加20
到方法调用的结果高度,因为在 my20
的 , 上方有一个单位缓冲区,我还想在它下面有一个单位缓冲区。UITextView
Storyboard
20
不过,所有这一切的最终结果仍然是文本被剪掉了。这是我正在谈论的图片:
有任何想法吗?