如何以编程方式更新 UITextView maximumNumberOfLines 并查看 UI 更新。

Ane*_*nce 4 uikit ios swift

我有禁用滚动的 UITextView。我需要以maximumNumberOfLines编程方式更改并在此之后查看 UI 上的更新。UITextView 使用自动布局。

textView.textContainer.maximumNumberOfLines = 0
Run Code Online (Sandbox Code Playgroud)

这应该使 UI 上 textView 的整个文本可见。

PS 类似的问题被问了很多次,但我还没有找到对我有用的答案。

Ane*_*nce 10

我发现了如何自己实现它。所以基本上当你改变textView.textContainer.maximumNumberOfLinesUIKit 时并不知道这一点(但我认为应该)。即使您尝试更新布局。解决方法很简单:

    textView.textContainer.maximumNumberOfLines = 0
    textView.invalidateIntrinsicContentSize() //add this line
Run Code Online (Sandbox Code Playgroud)

当影响内在内容大小的事情发生变化时调用此方法以通知 UIKit。

我希望它会很有用并节省某人的时间。