Эта проблема также возникает, если вы хотите создать небольшое подпредставление в отдельном файле XIB в Интерфейсном Разработчике, а в IB вы задаете ему тот же класс, что и родительское представление.
Если вы потом покажете это так:
UIViewController *vc = [[UIViewController alloc] initWithNibName:@"NameOfTheSubviewNibFile" bundle:nil];
[self.view addSubview:vc.view];
Отображается вид, но если к его владельцу файла подключено IBOutlets
, вы получите сообщение об ошибке. Таким образом, это должно работать вместо:
- В коде родительского представления объявите
IBOutlet UIView *mySubview
для ссылки на представление в файле пера подпредставления
- В файле пера подпредставления подключите владельца файла к представлению и установите для него значение
mySubview
- показать это, выполнив:
[[NSBundle mainBundle] loadNibNamed:@"NameOfTheSubviewNibFile" owner:self options:nil]
[self.view addSubview:mySubview];
и все будет хорошо!