2012-05-01 3 views
0

Я создал приложение tabBar с ARC. Таким образом, настройка по умолчанию автоматически обеспечит 2 viewControllers;Как связать созданные вручную ViewControllers в приложении TabBar

1) FirstViewController.h, FirstViewController.m; FirstViewController_iPhone.xib, FirstViewController_iPad.xib

2) SecondViewController.h, SecondViewController.m, SecondViewController_iPhone.xib, SecondViewController_iPad.xib

Я хотел создать новый контроллер просмотра ViewController3, но во время процесса создания файла я могу выбрать только для iPad или iPhone (флажок «Целевое для iPad»). Мне нужны iPhone и iPad xibs, как и FirstViewController и SecondViewControllers, созданные для меня. Поэтому я решил вручную создать xib и продолжил создание файла без xib.

Так что, естественно, после этого я продолжил вручную создавать 2 новости xibs; ThirdViewController_iPhone.xib и ThirdViewController_iPad.xib

я добавил эту строку в исходный файл AppDelegeate:

UIViewController *viewController1, *viewController2, *viewController3; 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil]; 
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil]; 
    viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPhone" bundle:nil]; 
} else { 
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil]; 
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil]; 
    viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPad" bundle:nil]; 
} 
self.tabBarController = [[UITabBarController alloc] init]; 
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, nil]; 

я запустить проект и получил это: терминальность приложения из-за неперехваченное исключение «NSInternalInconsistencyException», причина: " - [UIViewController _loadViewFromNibNamed: bundle:] загрузил нить «ThirdViewController_iPhone», но выходная точка просмотра не была установлена ​​».

Как установить розетку?

+0

Вам нужно подключить вид до владельца файла в xibs –

+0

я нажал на владельца файла из созданных вручную xibs. Затем я использовал свойство класса (где-то рядом с панелью инспекторов), чтобы ввести имя viewcontroller в качестве класса ... Еще не успел ... –

+0

'ctrl' +' drag' от 'File's Owner' до' view ', то из HUD выберите' view' - это то, что я имел в виду ранее –

ответ

4

Для вашего ThirdViewController_iPhone.xib следуйте инструкциям here. Я думаю, что вам нужно сделать этот шаг:

  • Вы должны увидеть «точек» с «зрения» под ним. Перетащите круг рядом с ним к иконе «вид» на левой панели

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

  • Нет связанных вопросов^_^