2012-05-01 57 views
0

我使用ARC創建了一個tabBar應用程序。所以默認設置會自動提供2個viewControllers;如何將手動創建的ViewController鏈接到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 xib,就像爲我創建的FirstViewController和SecondViewControllers一樣。所以我決定手動創建xib,並繼續創建沒有xib的文件。

因此,自然之後,我繼續手動創建2個新聞xib; 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' +'從'文件所有者'拖到'視圖',然後從HUD選擇'視圖' - 這就是我以前的意思 –

回答

4

對於您的ThirdViewController_iPhone.xib,請按照指令here。我認爲你需要做這一步:

  • 您應該查看其下的「出口」與「景」。拖動圓圈旁邊到「查看」圖標左邊欄
相關問題