我有UITextView
加载不同的文本,具体取决于用户为了到达带有文本的视图而采取的路线。
如何使用Swift动态调整UITextView
的高度,具体取决于其内容?
答案 0 :(得分:2)
设置约束以固定边缘,但允许文本视图垂直增长。然后设置一个高度约束(这里的值不重要)。为@IBOutlet
和高度限制创建UITextView
。然后我们可以在代码中动态更改高度:
class ViewControler: UIViewController, UITextViewDelegate {
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var textViewHeight: NSLayoutConstraint!
override func viewDidLoad() {
super.viewDidLoad()
self.textView.delegate = self
}
func textViewDidChange(textView: UITextView) {
let sizeToFitIn = CGSizeMake(self.textView.bounds.size.width, CGFloat(MAXFLOAT))
let newSize = self.textView.sizeThatFits(sizeToFitIn)
self.textViewHeight.constant = newSize.height
}
}