UIPopOver, UITextView и автоматическое изменение размера - PullRequest
0 голосов
/ 23 марта 2012

У меня есть приложение, в котором я разрешаю пользователю добавлять события в список.Для этого я использую форму, которую я показываю пользователю в виде UIPopOver.

Форма содержит следующие компоненты (в этом порядке сверху вниз):

  1. Метка описания события (UILabel)
  2. Описание события (UITextField)
  3. Метка сведений о событии (UILabel)
  4. Детали события (UITextView)
  5. СобытиеМетка времени (UILabel)
  6. Время события (UIDatePicker)
  7. Сохранить событие (пользовательская кнопка)
  8. Отмена (пользовательская кнопка)

I 'Я предпочел бы не показывать снимок экрана, так как это чувствительное приложение.: -)

Итак ........

Все хорошо, когда я впервые показываю UIPopOver.Все выглядит так, как я хочу.Общая компоновка имеет высоту около 650 пикселей, что достаточно для того, чтобы занимать почти весь экран (по вертикали) в ландшафтном режиме.

  • Когда пользователь пытается взаимодействовать с `UIDatePicker`все идет гладко (хорошо).
  • Когда пользователь нажимает на поле «Описание события» («UITextField»), появляется клавиатура, а «UIPopOver» сжимается, так что в основном «UIDatePicker» и кнопки скрыты.Я считаю, что это нормально, так как они снова появляются, когда клавиатура отклонена.
  • Проблема, с которой я сталкиваюсь, заключается в том, что пользователь пытается взаимодействовать с `UITextView`:
  • Когда для представления` UIPopOver` свойство `backgroundColor` установлено в`[UIColor whiteColor] `,` UITextView` изначально отображается с тонкой черной рамкой.Мне это нравится.
  • Когда пользователь нажимает в `UITextView`, чтобы начать редактирование,` UIPopOver` изменяет размеры, чтобы разместить клавиатуру, и во время перехода черная рамка "сжимается" и исчезает.Это несмотря на то, что мои удары и распорки установлены так, что все размеры / направления зафиксированы, и он «приклеен» к верхнему левому углу.
  • После этого, когда пользователь отклоняет клавиатуру, сортировка границof восстанавливает свою прежнюю позицию, но теперь добавляет толстую черную рамку внизу, которая полностью скрывает метку, расположенную между `UITextView` и` UIDatePicker`.
  • Когда я изменяю фон видаот 'UIPopOver` до' ScrollView` текстурированный фоновый цвет ', граница "исчезающего трюка" по меньшей мере менее заметна, но черная граница внизу (после снятия клавиатуры) все еще присутствует.

Вопросы

  1. Кто-нибудь сталкивался с чем-то подобным раньше?
  2. Кто-нибудь думает, что это просто ошибка IB, и мне нужно повторнопостроить мой XIB?
  3. У кого-нибудь есть еще идеи?Поиск в Google по этому вопросу оказался для меня совершенно пустым.Если вы думаете о лучших терминах и найдете что-то, пожалуйста, дайте мне знать (осторожно).

1 Ответ

1 голос
/ 30 апреля 2012

Мальчик, я тупой глупец !!!Оказывается, я забыл, что я поместил UITextView внутри UIView (вставка 1 пиксель со всех сторон) и установил фон UIView черным, чтобы получить эффект границы на UITextView.Однажды я вспомнил, что установка ударов / распорок ТО UIView оказалась решением проблемы.

Извините за потраченное время!

...