Я подклассифицировал UIViewController в новый класс, PageViewController (я пишу простое книжное приложение). Я хочу добавить новый вид, загруженный из файла nib, и использую следующий код. Оно работает.Почему initWithNibName не работает для моего подкласса UIViewController?
PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
Однако первая строка неверна, потому что я должен вызывать alloc на PageViewController. Когда я его исправляю (ниже), код компилируется, но файл xib не загружается, а представление просто прозрачно.
PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];
Метод PageViewController initWithNibName был раскомментировал и только по умолчанию, установка собственного = [супер initWithNibName: nibNameOrNil сверток: nibBundleOrNil].
Что я пробовал: В файле Page1 nib, я попытался изменить класс File Owner между PageViewController и UIViewController. Да, я вспомнил, что потом подключил его к выходу.
Помогите, пожалуйста! Я в тупике.
Может быть ошибка в вашей перекрытой методе initWithNibName – oxigen
Это просто по умолчанию: - (ID) initWithNibName: (NSString *) nibNameOrNil расслоение: (NSBundle *) nibBundleOrNil { если (само = [супер initWithNibName: nibNameOrNil расслоения : nibBundleOrNil]) { // Пользовательская инициализация \t \t NSLog (@ "В пользовательском инициализации pageviewcontroller"); } return self; } – niels