下面的代码片段可以在安装 Xcode 5 之前将 UITextView 框架的大小调整到它的内容高度,但自升级后它就不起作用了:
CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;
我已经搜索过,但没有找到解决方法。有什么想法吗?
最佳答案
iOS 7 上有这方面的新内容。
要在 TextView 更新其文本后获取 TextView 使用的“适合”大小,请在 TextView 的 layoutManager
属性上调用 usedRectForTextContainer:
,传递 TextView 的 textContainer
属性作为参数。
关于滚动的警告:不过请注意,如果在 TextView 上禁用滚动,则在更新文本后更改 TextView 的框架大小可能会产生意想不到的视觉错误。如果发生这种情况,请在编辑 TextView 的文本之前将滚动设置为启用,然后在更新后将其禁用(如果您需要滚动以保持禁用状态)。
关于objective-c - 将 UITextView 框架设置为内容大小在 Xcode 5 中不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859637/