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)

反正对我有用。