как использовать файл xib для всех размеров устройств в xcode

Я был бы очень признателен, если бы кто-нибудь рассказал мне, как я могу использовать один xib-файл для разных размеров устройств. Я создаю расширение пользовательской клавиатуры, используя файл xib, имеющий свойство просмотра «свобода». Представление отлично загружается на iPhone 4, 4s, 5 и 5s. Однако всякий раз, когда я запускаю приложение для iPhone6 ​​или 6s, справа появляется пустое место. (см. прикрепленный скриншот, недостающая область выделена красным), похоже, клавиатура не растягивается в соответствии с размером экрана.

Как я могу это исправить? Я отключил автоматическую компоновку и использовал параметр с классификацией размера. Я очень новый разработчик и кодирую, используя Swift. Большое спасибо

Клавиатура должна растянуться до красной области


person heavyguidence    schedule 11.05.2015    source источник


Ответы (1)


Я бы использовал для этого autolayout, в xib я бы его не отключал. Это также причина того, почему у вас есть пространство в конце вашего представления, поскольку оно не расширяется автоматически в стороны, оно было установлено статически, например. установка рамки.

Я хотел бы взглянуть на эту ссылку, но пока я снова включит автомакет, затем с помощью клавиши CTRL нажмите кнопку «Перетащить» в основной вид и выберите «Ведущий» (слева), «Трейлинг» (справа), «Верхнее и нижнее пространство для контейнера». Ниже показано всплывающее меню при нажатии ctrl constraints, затем выберите треугольник в правом нижнем углу введите здесь описание изображения затем Обновите кадры, это передаст вид. Это может не правильно раскладывать клавиши клавиатуры, но это начало.

person Iain Smith    schedule 11.05.2015
comment
Большое спасибо за это предложение, я попробовал его, однако, поскольку я использую файл xib (а не каталог раскадровки) и имею 38 элементов в файле xib (буквы алфавита), очень сложно управлять всеми ограничениями для всех из них. Добавление отсутствующих ограничений тоже не помогает. Когда я использую настраиваемые типы макетов, в частности, это портит макет для других типов устройств. - person heavyguidence; 13.05.2015