iOS8-вид вспомогательного устройства ввода клавиатуры с динамической высотой


У нас есть UITextView с аксессуаром ввода с клавиатуры-аксессуар представляет собой еще один UIView с несколькими кнопками и еще один UITextView, который растет в высоту по мере необходимости для отображения сообщения. (похоже на то, что вы видите в iMessage)

Все прекрасно работает через iOS7, и входной аксессуар растет вверх над клавиатурой, когда мы обновляем размер кадра. Но с iOS8 вспомогательный вид растет вниз, распространяясь на прогностический текст и клавиатуру.

Есть ли новый способ скажите клавиатурному виду iOS8, чтобы он ретранслировал дополнительные виды? Я попытался вызвать ReloadInputViews (), и это, кажется, ничего не меняет.

Застрял на этом-спасибо за помощь.

2 6

2 ответа:

Я переопределяю метод addConstraint на моем представлении, поскольку apple устанавливает ограничение с постоянной высотой для iOS8. Это, кажется, решает проблему.

Я тоже сталкиваюсь с этой проблемой. Что я делаю, так это переопределяю метод layoutSubviews inputAccessoryView и делаю высоту фиксированным числом. вот так:

- (void)layoutSubviews {
    if (self.height > 38) {
        self.height = 38;
    }
}

ПС: что странно, когда высота вашего inputAccessoryView превышает 50, inputAccessoryView не будет расти вниз.