2016-08-18 7 views
0

Я хочу, чтобы создать конкретный xib для каждого размера экрана, но с одним UIViewController.Один класс - мало Xibs

Как подключить несколько xibs к одному классу?

+1

Я думаю, что важно спросить, зачем вам это нужно? Вероятно, ваши проблемы могут быть решены с помощью одного класса xib и autolayout/size. Вы заглянули в автозапуск? –

+0

@PatrickGoley Я сделал, у меня сложный вид, и почти невозможно настроить его с ограничениями, я пробовал в течение нескольких часов, и я думаю, что лучший способ - добавить конкретный xib для каждого размера. –

+0

Даже все-таки это может быть проще просто настроить некоторые ограничения одного xib в коде, а не дублировать весь макет. Вы должны понять, что создаете кошмар для обслуживания, повторяя работу своего пользовательского интерфейса в 4+ xib-файлах. Вы будете ненавидеть себя, когда нужны изменения или обновления. –

ответ

0

MyClass Ваш UIViewController

1. Создать разные xib s

myclass_iphone4 
myclass_iphone5 
myclass_iphone6 

2. Каждый xib будет иметь в качестве владельца MyClass файла связать РОЗЕТКИ

3. Загрузите MyClass dyn amically:

let deviceSize = //iphone4, iphone5, .... 
let viewcontroller = MyClass(nibName: "myclass_\(deviceSize)", bundle: nil) 

Позвольте мне знать в комментариях, если это может быть хорошо для вас.

+0

MyClass должен быть 'UIViewController'. И как я могу делиться свойствами между этими xib и классом? –

+0

Можете ли вы, пожалуйста, обновить свой ответ? –

+0

@ FS.O5 Я обновил –