iOS 8+ - UITextView在UITableViewCell中不会垂直拉伸

时间:2016-01-06 19:11:51

标签: ios autolayout uitextview

我正在使用自动布局,UITextView中有UITableViewCellUITableViewCell的高度根据约束自动计算。以下是我如何指定单元格应该自我调整大小:

override func viewDidLoad()
{
    ...

    // Set the estimated row height
    self.myTableView.estimatedRowHeight = self.myTableView.rowHeight

    // Set the height of the cell row based on its constraints
    self.myTableView.rowHeight = UITableViewAutomaticDimension

    // Prevent extra rows from displaying
    self.myTableView.tableFooterView = UIView()

    ...
}

我确信我的UITableViewCell上的所有UI元素都已正确设置了所有约束(前导,尾随,顶部和底部),但出于某种原因,UITextView不是伸展以适应其可用文本。我尝试重新加载cellForRowAtIndexPathwillDisplayCell方法中的布局和约束无效。

如果我向下滚动表格,然后向上滚动到给定的单元格,UITextView确实可以正确拉伸。但是在第一次加载视图时,某些文本被切断是不可接受的。

我已经尝试了我能想到的一切,而且我无法让UITextView伸展。更奇怪的是,我做了一个测试应用程序,UITextView确实伸展得很好。但是,由于某些原因,它不能用于我的应用程序。

我很困难,可以使用一些帮助。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我发现我的UITableViewCell有一个Disclosure Indicator附件。我所要做的就是取下配件(设置为None),一切都很好!我不确定为什么会这样,但似乎这是一个错误。无论细胞上是否有附件,自我定型细胞都应该起作用。

注意

此错误似乎已在iOS 9+中修复。对于需要支持iOS 8的应用,我建议您从UITableViewCell中删除配件,并使用自定义图片替换配件。