Я провел несколько дней на этом без какого-либо решения.как я могу увеличить высоту входного окна AccessAccessoryView
У меня есть inputAccessoryView
, который состоит из UIView
, содержащего textView
и двух кнопок. Поведение inputAccessoryView
соответствует ожиданиям и отлично работает во всех случаях, кроме одного.
Когда высота текста увеличивается, я пытаюсь увеличить высоту inputAccessoryView
на ту же сумму. Когда я переопределяю высоту inputAccessoryView
в textViewDidChange
, inputAccessoryView
увеличивает высоту вниз по клавиатуре, а не вверх.
Я пробовал много разных предложений от SO, но ничего не сработало. Я думаю, это автоматически добавлено NSLayoutConstraint
inputAccessoryView
, но я не знаю, как изменить это значение в swift и iOS 8.3.
func textViewDidChange(textView: UITextView) {
var contentSize = messageTextView.sizeThatFits(CGSizeMake(messageTextView.frame.size.width, CGFloat.max))
inputAccessoryView.frame.size.height = contentSize.height + 16
}
добавления
inputAccessoryView.setTranslatesAutoresizingMaskIntoConstraints(true)
приведенный выше код помогает и inputAccessoryView высота увеличивается вверх правильно, однако я получаю Невозможно одновременно удовлетворяют ограничениям, несколько ограничений, и это очень трудно идентифицировать преступников. Также я получаю нечетный эффект textView, создающий дополнительное пространство ниже для каждого второго экземпляра новой строки.
спасибо.
я заметил первый вызов textViewDidChange делает правильно изменить размер inputAccessoryView без линии setTranslatesAutoresizingMaskIntoConstraints, но последующие вызовы не имеют никакого эффекта. Интересно, почему это так и как я могу восстановить его в этом начальном состоянии каждый раз? – alionthego