2012-01-26 57 views
3

我是IOS領域的初學者,我發現有些難以遵循的舊教程包括甚至不是4-5個月大的視頻。主要原因是我正在使用xcode 4.2.1,並且大多數教程都基於早期版本。所以這讓我想起了一些我想解決的例子。選項卡式應用程序中的MainWindow.xib

主要的問題是MainWindow.xib文件,我發現了一些很好的教程和視頻,介紹如何手動重建MainWindow.xib。我需要說我遵循這一點,並善於重新創建它。另一方面,我有一個問題,無論我需要在Empty應用程序以外使用哪個新項目,是否可以使用爲Empty應用程序創建的相同方式創建MainWindow.xib文件,或者它會不同對於選項卡式應用程序或其他應用程序。

有人可以對此有所瞭解!

感謝 瑪克斯

回答

2

以下代碼用於創建UItabbar。 在xcode 4.2.1中沒有任何main.xib是爲你需要應用動態(代碼)通過創建tabbar然後調用它而創建的。

-(void)applicationDidFinishLaunching:(UIApplication *)application { 

    // Add the tab bar controller's current view as a subview of the window 
    tabBarController.delegate=self; 
    tabBarController=[[UITabBarController alloc] init]; 

    mainDashBoard=[[DashBoard alloc] initWithNibName:@"DashBoard" bundle:nil]; 
    mainSearchView=[[SearchView alloc] initWithNibName:@"SearchView" bundle:nil]; 
    mainMoreView=[[MoreView alloc] initWithNibName:@"MoreView" bundle:nil]; 

    UINavigationController *nvCtr0=[[[UINavigationController alloc] init] autorelease]; 
    UINavigationController *nvCtr1=[[[UINavigationController alloc] initWithRootViewController:mainDashBoard] autorelease]; 
    UINavigationController *nvCtr2=[[[UINavigationController alloc] initWithRootViewController:mainSearchView] autorelease]; 
    UINavigationController *nvCtr3=[[[UINavigationController alloc] initWithRootViewController:mainMoreView] autorelease]; 
    UINavigationController *nvCtr4=[[[UINavigationController alloc] init] autorelease];//[[[UINavigationController alloc] initWithRootViewController:nil] autorelease]; 

    tabBarController.viewControllers=[NSArray arrayWithObjects:nvCtr0,nvCtr1,nvCtr2,nvCtr3,nvCtr4,nil]; 

    nvCtr0.tabBarItem.enabled=NO; 
    nvCtr4.tabBarItem.enabled=NO; 

    [window tabBarController.view]; 
} 

這可能有助於實現應用程序

+0

感謝薩穆埃爾的信息 – Maks

1

有許多方法可以使一個水龍頭欄的應用程序。我更喜歡在代碼中創建標籤欄控制器,並使用xib執行不同選項卡中顯示的視圖控制器的界面。但有時候我發現在代碼中完全創建接口更實用。

我將在AppDelegate中分配並初始化一個UITabBarController,並將我需要的視圖控制器分配給標籤欄控制器。然後你必須將窗口的rootViewController分配給標籤欄控制器。

+0

thannks Dasdom .... – Maks

相關問題