UITextView 最后一行不显示
UITextView last line is not shown
我得到了一个包含以下内容的 UITextView:
一种
一种
A
就在这里,因为我看到最后一行下方有很多间距,所以我将 TextView 的高度降低了几个像素。
和最后一个'A'消失了,字母'A'明显有很多间距,知道吗?
可能 space 太小,无法绘制 Unicode 和字体(尤其是带有下行字符的字符)中的所有可能字符,因此布局机制不会布局整行,即使有足够的 space 对于 A。如果他们不这样做,更改文本可能会隐藏和取消隐藏最后一行,这将令人费解。
如果你确定没有这个问题,你可以将文本视图嵌入到父视图中,裁剪文本视图。
我认为原因是 textview 的高度不足以插入 textview 和 lint padding。尝试:
self.textView.textContainerInset = UIEdgeInsetsZero
self.textView.textContainer.lineFragmentPadding = 0
我认为是 UITextView 的内容大小不正确。
当我禁用编辑或 select 时,我遇到了同样的问题。
并且日志告诉内容大小的宽度为 0,高度也不正确。
尝试:
textView.contentSize = textView.sizeThatFits(textView.frame.size)
反正对我有用。
我得到了一个包含以下内容的 UITextView: 一种 一种 A
就在这里,因为我看到最后一行下方有很多间距,所以我将 TextView 的高度降低了几个像素。
和最后一个'A'消失了,字母'A'明显有很多间距,知道吗?
可能 space 太小,无法绘制 Unicode 和字体(尤其是带有下行字符的字符)中的所有可能字符,因此布局机制不会布局整行,即使有足够的 space 对于 A。如果他们不这样做,更改文本可能会隐藏和取消隐藏最后一行,这将令人费解。
如果你确定没有这个问题,你可以将文本视图嵌入到父视图中,裁剪文本视图。
我认为原因是 textview 的高度不足以插入 textview 和 lint padding。尝试:
self.textView.textContainerInset = UIEdgeInsetsZero
self.textView.textContainer.lineFragmentPadding = 0
我认为是 UITextView 的内容大小不正确。 当我禁用编辑或 select 时,我遇到了同样的问题。 并且日志告诉内容大小的宽度为 0,高度也不正确。 尝试:
textView.contentSize = textView.sizeThatFits(textView.frame.size)
反正对我有用。