【发布时间】:2014-04-29 14:50:12
【问题描述】:
我想要一个简单的UITextView,它会自动调整大小以适应其内容。
使用自动布局,这非常简单:我将UITextView 添加到我的视图中,设置两个约束以将UITextView 锚定在左上角,禁用滚动,就是这样。
预期的行为是每次我输入一个字符时,绿色文本视图都会调整其框架的大小。但这只是部分起作用:对于某些文本,文本视图决定将其呈现在两行上,而不是仅在当前行的末尾添加新字符:
我猜这与新的 TextKit 框架有关,我使用 NSLayoutManager 和 NSTextContainer 的属性试图控制这种行为,但无济于事。
还要注意,如果我“硬编码”文本视图的宽度(例如使用宽度约束),字符会正确地附加在行尾,但是我会丢失文本视图的水平自动调整大小属性.
我如何向UITextView 表明我不希望它断线?
编辑:在further testing 之后,该错误似乎只出现在 32 位拱门上。
【问题讨论】:
-
您找到解决方案了吗?我查看了下面@danhopwood 的建议,但没有任何区别。
-
TBH,我把这个错误放在一边并继续前进(我知道我所有的用户都将运行 64 位设备)。希望它在 iOS 8 中得到修复...
-
好的。因为我使用 UITextView 作为 UILabel 替换我最终只是在字符串的开头和结尾添加了一个空格字符。似乎工作得体......
-
在文本末尾添加一个空格可以解决问题。
标签: ios cocoa uitextview autolayout textkit