Не могу поверить, что я застрял на этом больше недели.iOS 7 - Подробный просмотр SplitViewController - Autolayout UITextView Изменение ориентации клавиатуры
Я видел (и пытался) каждый другой вопрос/ответ на этот вопрос, который я мог найти, и никто не работает.
В принципе, у меня есть подробный вид с панелью инструментов и под UITextView
, который занимает остальную часть пространства, оставляя границу с 20 точками вокруг ее краев до края надзора.
Все, что мне нужно - это когда клавиатура отображается в текстовом режиме, либо изменит ее фрейм, либо содержимое содержимого вставки, так что клавиатура не покрывает ничего, и текст прокручивается до конца его текста, а любой новый набирать/переносить строки не скрывает клавиатура - простое право? Э ... нет.
Если пользователь изменяет Orientation
(все поддерживаемые 4), то его необходимо настроить для размещения.
Затем с отклонением клавиатуры ему необходимо вернуться в полный размер (в зависимости от возможной новой ориентации).
Это первый проект, который я сделал с обоими Autolayout
и iOS 7
(и я столкнулся с ошибкой в iOS7
, который ставит свою новую строку текста «ниже» в нижней части представления текста, но благодаря что теперь все в порядке.)
Однако НИКАКИЕ решения, которые я пробовал на этом сайте, не работают.
Я устанавливаю ограничения для UITextView
, разместив его в IB в portrait
и выбрав «сброс к предложенным ограничениям» - это кажется правильным для всех четырех ориентаций, если клавиатура не отображается.
Благодарим вас за то, что нашли время, чтобы сделать код. Это ПОЛНОСТЬЮ работает .. В том, что в портрете - все в порядке. Если я затем перейду на Пейзаж - я получаю исключение - я попытался опубликовать его здесь, но раздел комментариев слишком ограничительный (и обрабатывает обратные нажатия новой строки ужасно) – iOSProgrammingIsFun
Я добавил новый «ответ», показывающий сбой .. Это помогает выяснить, где я ошибаюсь? Почему это так сложно? Кто в Apple думает, что эта реализация была правильной идеей? – iOSProgrammingIsFun
@iOSProgrammingIsFun, я получил эту ошибку, прежде чем я заметил, что высота и ширина были отменены, когда вы получаете размер клавиатуры - это ваш код точно так же, как и мой, потому что я тестировал мой портрет и пейзаж, и он отлично работает. Попробуйте ввести размер клавиатуры в методе keyboardWillShow и посмотреть, что он дает вам в портретной и альбомной ориентации. – rdelmar