Индивидуальная клавиатура iOS, короткая высота

Я работаю над пользовательским расширением клавиатуры iOS. Моя клавиатура кажется короче, чем обычная клавиатура. Видеть это:

Высота клавиатуры мала

Пожалуйста, выполните следующие действия, чтобы получить результат:

  1. Создайте проект xCode и добавьте цель расширения клавиатуры.
  2. Добавьте новый файл раскадровки и измените plist, чтобы использовать только что добавленную раскадровку. (Вы можете следовать учебному пособию на Youtube «Как создать пользовательскую клавиатуру с помощью Storyboard Xcode»).
  3. Добавьте UIViewController и перетащите 2 UIButtons в контроллер представления.
  4. Установите ограничения, как показано ниже: установите ограничения сверху, слева, снизу, одинаковой ширины и высоты
  5. UIButtons должен быть растянут и иметь одинаковую высоту.
  6. Запустить его. Высота клавиатуры короче, чем обычно, и две кнопки выглядят не так, как в раскадровке.

Среда разработки:

  • Macbook Pro, MacOS X El Capitan, 8 ГБ ОЗУ, 512 ГБ SSD
  • xCode 8.0 (8A218a)
  • Протестировано на всех симуляторах iPhone

person Chandarong Nuon    schedule 22.09.2016    source источник


Ответы (3)



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

Кроме того, поставьте галочку на значении «высота» на скриншоте для кнопок (или просто сделайте перетаскивание с кнопкой на себя, удерживая клавишу Ctrl, и выберите пункт «высота» во всплывающем окне — это будет работать и для вида с клавиатуры).

person ArtStyle    schedule 24.09.2016
comment
Спасибо за ответ. Я решил это, добавив ограничение высоты в представление. Но тогда высота фиксируется в обеих ориентациях, а также на всех устройствах. Есть ли способ получить высоту клавиатуры iOS по умолчанию? - person Chandarong Nuon; 27.09.2016
comment
@ChandarongNuon Рад, что это помогло. Чтобы получить высоту клавиатуры iOS по умолчанию, вы можете использовать CGFloat height = [[notification.userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].height; self.YourConstraint.constant = height; [self.view layoutIfNeeded]; этот код. Он вернет вам 224 в портретном режиме (вы также можете просто использовать это значение в ограничении в раскадровке). - person ArtStyle; 27.09.2016

У меня была аналогичная проблема, и я решил ее, установив новое ограничение для высоты введите здесь описание изображения

person emiliomarin    schedule 26.09.2016
comment
Спасибо за ответ. Я решил это, добавив ограничение высоты в представление. Но тогда высота фиксируется в обеих ориентациях, а также на всех устройствах. Есть ли способ получить высоту клавиатуры iOS по умолчанию? - person Chandarong Nuon; 27.09.2016
comment
@ChandarongNuon Проверьте это: stackoverflow.com/questions/11284321/ - person emiliomarin; 27.09.2016