2014-09-28 2 views
3

Попытка сделать автоматическую компоновку работы с расширением клавиатуры. Первоначально я думал, что сделаю кнопки программными, но тогда я понял, что лучше сделать это с помощью xib из-за моего требования и нескольких размеров экрана.Как использовать автоматическую компоновку на IOS8 Расширение клавиатуры

См. Скриншот ниже о текущей конфигурации, которую я сделал. Кнопка 2: enter image description here

Кнопка 1 и вопрос о приложении: enter image description here

Все ограничения конфигурации выглядит следующим образом: enter image description here

Все, что я пытаюсь сделать здесь, чтобы убедиться, кнопка заполняет ширину экрана. Они могут расширяться по ширине, чтобы соответствовать размерам экрана и ориентациям. Как-то я чувствую, что он не способен понять ширину устройства. Мне нужно что-то указать для этого?

Благодаря

+0

Любая помощь ребята! Разве это невозможно? –

ответ

5

Обязательно установите размеры в UIView на viewDidLoad так, что это выглядит как-то вроде этого:

self.mainView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); 

У меня была такая же проблема, и это сделал трюк для меня. Ваши ограничения в порядке.

+0

Это тоже помогло мне. Благодаря! –

1

У вас нет ограничение на расстояние между двумя кнопками. Попробуйте добавить ограничение между кнопками для каждой кнопки.

+0

Его там. Горизонтальное пространство 2. Обновлен скриншот. –

+0

Что такое ограничение ширины на кнопке 1? Я вижу, что у Button 2 есть один, но в настоящее время он отключен. – snagra

+0

На любом из кнопок нет ограничения ширины, поскольку я хочу, чтобы они растягивались на основе макета. Серые уже удалены. –

1

Ответ Бен Флорес сделал трюк для меня тоже, но мне пришлось поместить мой код в viewDidLayoutSubviews. В противном случае моя клавиатура потерпит крах и не появится. Swift 3 Версия:

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 
    let frameSize = self.view.frame.size 
    self.mainView.frame = CGRect(x: 0, y: 0, width: frameSize.width, height: frameSize.height) 
} 
Смежные вопросы