2012-01-20 3 views
1

У меня есть пользовательский UIViewController в Interface Builder (в моей раскадровке), и я хочу добавить это представление, которое я собирал в другое представление программно. Я создал класс для контроллера вида, который я создал, но просто импортировал и добавил, что пользовательский класс как подзаголовок не работает.Добавить пользовательский вид в интерфейсе Builder для другого представления?

Любая помощь очень ценится, как всегда.

ответ

2

Вам нужно будет загрузить экземпляр контроллера вида из объекта UIStoryboard и добавить его в виде подвью. Этот код будет выглядеть примерно так:

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
MyViewController* myVc = [storyboard instantiateViewControllerWithIdentifier:@"ident"]; 
[self.view addSubview:myVc.view]; 

Убедитесь, что вы установите поле идентификатора для контроллера представления в IB и передать методу «instantiateViewControllerWithIdentifier».

+0

Ahh, не знал об этом трюке. Однако я получаю ошибку при сбое и консоли: завершение приложения из-за неотображенного исключения «NSInvalidArgumentException», причина: '- [UIViewController setFrame:]: непризнанный селектор. Это потому, что в контроллерах представления нет свойства setFrame? –

+0

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

Смежные вопросы