可变高度UITextView

时间:2012-05-31 06:24:21

标签: objective-c ios uitextview

我在表格视图单元格中嵌入了一个文本视图。此文本视图用于编写长文本。

当输入的文本超出uitextview的指定高度时,如何获得可变高度uitextview自动扩展。它必须像在邮件应用程序中撰写邮件一样工作。

3 个答案:

答案 0 :(得分:0)

  1. 设置并实现UITextView委托协议
  2. 的委托
  3. 检查UITextView.contentSize的大小。如果它的高度参数已更改,那么您应该展开表格视图单元格: 2.1重新加载特定细胞。 2.2在UITableViewDelegate方法中返回新的高度值。

答案 1 :(得分:0)

看看这个SO question

您可以从font获取UITextView属性,以便在sizeWithFont:方法中使用。

您应该实现UITextViewDelegate协议,并且每次文本视图更改时,也就是说,当– textViewDidChange:被调用时,您应该重新加载单元格以将其调整为内容的大小。

要重新加载特定行,您可以使用– reloadRowsAtIndexPaths:withRowAnimation:

答案 2 :(得分:0)

我使用Story Hugging Priority属性通过Storyboard对此进行了管理。

在IB中,我将“文本视图”高度设置为默认值,并将其优先级设置为250(低)。

文本视图高度1

然后,我将“内容拥抱优先级”设置为1000。调整视图的大小以适合我想要的文本。 内容拥抱优先级2

希望这会有所帮助