可变高度 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的主要内容,如果未能解决你的问题,请参考以下文章