0

UITextView 在 UITableViewController 中的一个静态单元格中,并添加代码descriptionText.sizeToFit()使单元格高度适合文本。

单元格在输入很少的文本时工作正常,当获得更多文本时,单元格底部的空白也会变得更高。

我曾尝试添加代码descriptionText.contentInset = UIEdgeInsetsMake(0, 0, 0, 0),也不起作用。

有什么帮助吗?谢谢。

截屏

更新:奇怪的事情,当在 ios8 上运行时,它仍然显示空白,但是当滚动到底部以便隐藏单元格,然后滚动回到顶部时,空白消失了!这意味着它可以正常工作。有什么问题?

4

2 回答 2

0

这是一种方法:通过计算每个 UITextView 的高度并在方法中返回高度(如果需要,+填充)heightForRowAtIndexPath:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *body = self.messages[indexPath.row];
    CGRect rect = [body boundingRectWithSize:CGSizeMake([width of your UITextViews], CGFLOAT_MAX) options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) attributes:@{NSFontAttributeName:[UIFont fontWithName:@"HelveticaNeue" size:[Font Size]} context:nil];
    return rect.size.height;
}
于 2015-01-26T08:59:26.637 回答
0

您必须告诉视图不要自动调整插图:

文档说:

如果您不希望自动调整滚动视图的内容插入,请将 automaticallyAdjustsScrollViewInsets 设置为 NO。(automaticAdjustsScrollViewInsets 的默认值为 YES。)

因此,您必须将以下代码行添加到您的 viewDidLoad:

self.automaticallyAdjustsScrollViewInsets = false;

或者你可以重写automaticallyAdjustsScrollViewInsets- 方法并返回false

于 2015-01-26T10:21:27.030 回答