Я использую следующий код, чтобы динамически регулировать высоту containerView
, который содержит мой UITextView
UITextView Изменение размера Динамически
func textViewDidChange(textView: UITextView) {
let amountOfLinesToBeShown:CGFloat = 6
let maxHeight:CGFloat = textView.font!.lineHeight * amountOfLinesToBeShown
if ((textView.contentSize.height/textView.font!.lineHeight) < 6) {
topConstraint?.constant = -textView.sizeThatFits(CGSizeMake(textView.frame.size.width, maxHeight)).height - keyboardFrameSize!.height
containerView.layoutIfNeeded()
containerView.updateConstraints()
}
}
Проблема, когда я печатаю, это будет выглядеть так:
и желаемый эффект заключается в следующем:
Должен ли я делать это в дополнение к моему коду или вместо кода? Имейте в виду, что высота 'UITextView' должна динамически меняться, когда я печатаю, не устанавливал бы якорь высоты на 30, чтобы предотвратить это? – Alk
Вы можете установить heightAnchor как containerView.heightAnchor. – Carlo
Я обновил ответ – Carlo