可变高度 UITextView

Posted

技术标签:

【中文标题】可变高度 UITextView【英文标题】:Variable height UITextView 【发布时间】:2012-05-31 06:24:20 【问题描述】:

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

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

【问题讨论】:

检查这个link。希望对您有所帮助! 【参考方案1】:
    设置和实现UITextView委托协议的委托 检查UITextView.contentSize 的大小。如果它的高度参数发生了变化,那么你应该展开表格视图单元格: 2.1 重新加载特定单元格。 2.2 在UITableViewDelegate方法中返回新的高度值。

【讨论】:

【参考方案2】:

看看这个 SO question。

您可以将UITextView 中的font 属性用于sizeWithFont: 方法。

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

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

【讨论】:

【参考方案3】:

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

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

文本视图高度1

然后我将 Content Hugging Priority 设置为 1000。视图调整大小以完全适合我想要的文本。 内容拥抱优先2

希望对你有帮助

【讨论】:

以上是关于可变高度 UITextView的主要内容,如果未能解决你的问题,请参考以下文章

可变高度 UITextView

垂直居中可变高度图像,同时保持最大宽度/高度

如何在div中以可变高度垂直居中内容?

在可变高度 TableViewCell 内根据动态本地内容确定 UIWebView 高度

保持底部可变高度的页脚[重复]

如何调整可变高度文本属性 kivy?