根据其内容展开UITextView

MEn*_*bah 2 objective-c textview uitextview ios swift

我正在尝试扩展UITextView以根据其内容更改框架。

当textView中的文本变大时,textView应调整其高度;当用户删除文本时,textView应减小其高度。

我尝试了许多答案,但是没有用。

MEn*_*bah 8

使用以下两行是该问题的最佳答案,它解决了我的问题:

expandingTextView.textContainer.heightTracksTextView = true
expandingTextView.isScrollEnabled = false
Run Code Online (Sandbox Code Playgroud)

注意:
expandingTextView: UITextView
textContainer: NSTextContainer是ExpandingTextView内文本的边界。
heightTracksTextView: Bool如果为true,则接收方将根据expandingTextView的高度调整其高度。

为了扩展工作,您需要通过以下方式禁用textView滚动:
isScrollEnabled = false

  • 为了使它起作用,我必须将文本视图的高度约束的“优先级”设置为“ .defaultLow”。 (4认同)
  • @ma11hew28 你的评论确实救了我!!我觉得应该重点强调一下! (2认同)