根据内容动态调整 UITextView 的高度?
Dynamically adjust the height of the UITextView depending on its content?
我有一个 UITextView
可以加载不同的文本,具体取决于用户为了到达带有文本的视图而采取的路线。
如何使用 Swift 根据其内容动态调整 UITextView
的高度?
设置约束,使边缘固定,但允许文本视图垂直增长。然后设置高度约束(这里的值无关紧要)。为 UITextView
和高度约束创建一个 @IBOutlet
。然后我们可以在代码中动态改变高度:
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
}
}
我有一个 UITextView
可以加载不同的文本,具体取决于用户为了到达带有文本的视图而采取的路线。
如何使用 Swift 根据其内容动态调整 UITextView
的高度?
设置约束,使边缘固定,但允许文本视图垂直增长。然后设置高度约束(这里的值无关紧要)。为 UITextView
和高度约束创建一个 @IBOutlet
。然后我们可以在代码中动态改变高度:
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
}
}