UITextView底部有更多文字和空白

时间:2015-01-26 08:44:02

标签: ios uitableview swift cell sizetofit

UITextView位于UITableViewController中的静态单元格中,并添加代码descriptionText.sizeToFit(),以便单元格高度可以适合文本。

细胞工作正常,文本输入很少,当得到更多文本时,细胞底部的空白也变得更高。

我曾尝试添加代码descriptionText.contentInset = UIEdgeInsetsMake(0, 0, 0, 0),但也无法使用。

有任何帮助吗?感谢。

screenshot

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

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

文档说:

  

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

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

self.automaticallyAdjustsScrollViewInsets = false;

或者您可以覆盖automaticallyAdjustsScrollViewInsets - 方法并返回false