Да, вы определенно можете это сделать, и это совсем не сложно!
На самом деле, это довольно распространенный способ проектирования чего-либо в Интерфейсном Разработчике. Затем вы можете загрузить свой пользовательский Xib-файл программно, используя loadNibNamed
. Например:
[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
В документации Apple об этом говорится в «Руководстве по программированию табличного представления для iOS».
Хотя их пример касается создания настраиваемой ячейки таблицы, те же правила применяются для любого представления. Внимательно изучите раздел, озаглавленный Загрузка пользовательских ячеек табличного представления из файлов пера .
Одна вещь, которую они не делают в этом примере, это загрузка представления верхнего уровня. loadNibNamed
возвращает массив, поэтому, чтобы получить представление верхнего уровня, которое вам нужно, вы должны также сделать:
MyCustomView *myCustomView = [myNibsArray objectAtIndex:0];
Итак, ваш код будет выглядеть так:
NSArray *myNibsArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
MyCustomView *myCustomView = [myNibsArray objectAtIndex:0];