objective-c - 将 UITextView 框架设置为内容大小在 Xcode 5 中不再有效

标签 objective-c xcode5

下面的代码片段可以在安装 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/

相关文章:

html - 通过html select标签创建时如何获取UIPickerView的对象引用

objective-c - Mac : NSWindowController, View 关闭后打不开

ios - 从 tableView 上的核心数据填充数据时如何避免行重复

objective-c - 安装 enorme go 的照片查看器以在应用程序中使用

objective-c - 对 <UISplitViewController : 0x133630> 的开始/结束外观转换的不平衡调用

objective-c - 接收双击事件

ios - teapot.h 中的索引是如何排列的? iOS 的 glgravity 示例

ios - UINavigationController 上的 UIPageViewController 自更改方向后不会重新布局其 subview Controller

ios - Xcode 方法自动完成仅显示某些类

xcode5 添加新的引用导出