У меня три вида текста в виде контейнера.Когда пользователь вводит несколько строк в каждом textView, мне нужно изменить высоту родительского контейнера View.Я нашел эту ссылку полезной, когда использовал только один textView внутри родительского представления.Я написал ограничения программно
func adjustTextViewHeight(textView: UITextView) {
let fixedWidth = textView.frame.size.width
let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))
let difference = newSize.height - 32
if textView == titleTextView{
self.titleHeightConstraint?.constant = newSize.height
}else if textView == ingredientsTextView{
self.ingredientsHeightConstraint?.constant = newSize.height
}else{
self.directionsHeightConstraint?.constant = newSize.height
}
self.containerHeightConstraint?.constant = 280 + difference
scrollContent = 812 + difference
self.view.layoutIfNeeded()
}
func textViewDidChange(_ textView: UITextView) {
if textView == titleTextView{
adjustTextViewHeight(textView: titleTextView)
}else if textView == ingredientsTextView{
adjustTextViewHeight(textView: ingredientsTextView)
}else if textView == directionTextView{
adjustTextViewHeight(textView: directionTextView)
}
}
Для трех текстовых представлений код, похоже, не работал.Где я делаю не так?Пожалуйста, помогите.