根据内容动态调整UITextView的高度?

时间:2015-06-11 13:17:21

标签: ios swift uitextview

我有UITextView加载不同的文本,具体取决于用户为了到达带有文本的视图而采取的路线。

如何使用Swift动态调整UITextView的高度,具体取决于其内容?

1 个答案:

答案 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
    }

}