Ответ 1
Если вы спросите о просмотре вашего содержимого .xib в Interface Builder при редактировании Storyboard, не возможно. Но если вам нужно загрузить его во время выполнения, возможно.
- .h/.m должен содержать подкласс UIView
- в файле .xib вам нужно установить Владелец файла (Identity Inspector → Custom Class) с вашим пользовательским подклассом UIView
- в файле .h добавьте
@property (strong, nonatomic) IBOutlet UIView* view;
и подключите контейнер View от Interface Builder к этому полю (Ctrl + Click на View и перетащите соединение с вышеview
в .h - подключить другие подзаголовки к .h
- в файле .m, который нужно разместить
- (void)awakeFromNib {
NSString* nibName = @"Place here your Nib name without extension";
if ([[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil]) {
[self.view setFrame:[self bounds]];
[self addSubview:self.view];
}
}
Это все. Переместите Вид в сцену раскадровки, измените Пользовательский класс на свой FooView, импортируйте .h в код View Controller и используйте IBOutlets, как вы хотите.
Счастливое кодирование
ИЗМЕНИТЬ
Я хочу заметить, что в awakeFromNib
documentation мы должны избегать такого кода в awakeFromNib
.
Рекомендуется поддерживать индивидуальное соответствие между вашими файлами Owner Owner и связанными с ними файлами nib. Загрузка двух файлов nib одним и тем же объектом "Владелец файла" приводит к тому, что вызов метода awakeFromNib вызывает дважды, что может привести к повторной инициализации некоторых структур данных нежелательными способами. Также рекомендуется избегать загрузки других файлов nib из вашей реализации метода awakeFromNib.