1

我在C和C++方面有經驗,但在Objective C或Xcode4中幾乎沒有經驗。適用於iOS的應用程序組織

我正在創建一個帶有標籤欄,導航欄和表格視圖的應用程序。基於我的知識,我假設我從頂層開始鑽入根目錄?

第一個 創建myTableViewController類,它將動態創建tableview內容並將其創建的視圖推送到導航控制器上。 然後... 創建包含myTableViewController的myNavController類。用一個爲myTableViewController創建一個新項目的方法。 然後... 創建一個標籤欄控制器,它具有上面作爲其中一個標籤的數組以及其他標籤,將標籤欄控制器設置爲根控制器並將其顯示到窗口中。

這是正確的思維方向嗎?還是我可怕的偏離路線?

+0

「思考的正確方向」是Interface Builder :) – jtbandes

+0

EricS,從以下示例開始:http://developer.apple.com/library/ios/#samplecode/iPhoneCoreDataRecipes/Introduction/Intro.html# // apple_ref/DOC/UID/DTS40008913-簡介-DontLinkElementID_2 – magma

回答

0

我有一個應用這些相同的要求。它有一個UITabBar,並且在不同的選項卡中,每個UITableViewController在頂部都有一個UINavigationController導航欄。

這裏是我的應用程序代理如何處理這樣的:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    //Create the UITabBarController 
    UITabBarController *tabBarController = [[UITabBarController alloc] init]; 

    //Create the view controllers for our tabs 
    UITableViewController *vc1 =  [[UITableViewController alloc] init]; 
    UITableViewController *vc2 =  [[UITableViewController alloc] init]; 
    UITableViewController *vc3 =  [[UITableViewController alloc] init]; 
    UITableViewController *vc4 =  [[UITableViewController alloc] init]; 
    UITableViewController *vc5 =  [[UITableViewController alloc] init]; 

    //Create the Navigation Controllers for these views 
    UINavigationController *nc1 = [[[UINavigationController alloc] 
            initWithRootViewController:vc1] autorelease]; 
    UINavigationController *nc2 = [[[UINavigationController alloc] 
            initWithRootViewController:vc2] autorelease]; 
    UINavigationController *nc3 = [[[UINavigationController alloc] 
            initWithRootViewController:vc3] autorelease]; 
    UINavigationController *nc4 = [[[UINavigationController alloc] 
            initWithRootViewController:vc4] autorelease]; 
    UINavigationController *nc5 = [[[UINavigationController alloc] 
            initWithRootViewController:vc5] autorelease]; 


    //Make an array containing the view controllers 
    NSArray *viewControllers = [NSArray arrayWithObjects:nc1, nc2, nc3, nc4, nc5, nil]; 

    //The NSArray has retained these controllers, we can now release them. 
    [vc1 release]; 
    [vc2 release]; 
    [vc3 release]; 
    [vc4 release]; 
    [vc5 release]; 

    [nc1 release]; 
    [nc2 release]; 
    [nc3 release]; 
    [nc4 release]; 
    [nc5 release]; 

    //Assign the view controllers to the tab bar. 
    [tabBarController setViewControllers:viewControllers]; 

    //Set tabBarController as rootViewController of window 
    [self.window setRootViewController:tabBarController]; 

    //The window retains tabBarController, we can release our reference 
    [tabBarController release]; 


    [self.window makeKeyAndVisible]; 
    return YES; 
} 

享受!

相關問題