簡體   English   中英

是否有任何有關如何添加UITabBar的基於“非TabBar模板”的教程?

[英]Any “non TabBar-template” based tutorial on how to add a UITabBar?

我想將TabBar添加到我已經開始的現有基於視圖的應用程序中,只是允許用戶切換到該應用程序的其他部分,例如“關於”部分和另一個名為“保存的搜索”的部分,以顯示導航內容(保存的搜索列表>特定搜索結果>產品詳細信息)。

關於如何執行此操作的任何想法? 我發現的所有教程都直接將我指向TabBar模板。

感謝您的幫助,

斯蒂芬

您可以從UITabBar應用程序模板開始,您將意識到它非常容易做到:

在您的UIApplicationDelegate類中,在方法中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

像這樣實例化一個UITabBarController

UITabBarController *tabBar = [[UITabBarController alloc] init];

然后,設置將顯示在選項卡欄上的視圖控制器:

tabBar.viewControllers = viewControllers;

您可以先前使用UIViewController子類創建NSArray

NSArray *viewControllers = [[[NSArray alloc] initWithObjects:vc1, vc2, vc3, nil] autorelease];

此后,您只需將其設置為窗口的根視圖控制器,或將其添加為子視圖(其效果相同,但是第一種方法在iOS 4之前不起作用)

self.window.rootViewController = tabBar;

要么

[self.window addSubView:tabBar.view];

接着

[tabBar release];

為了實現您在問題中說的那種導航,設置為tabBar的視圖控制器應該是UINavigationController實例,該實例很容易創建,如下所示:

UINavigationController *vc1 = [[UINavigationController alloc] initWithRootViewController:firstViewControllerPage];

在其中,您可以推送(導航至)其他視圖控制器,以執行以下操作:

[self.navigationController pushNavigationController:anotherViewController animated:YES];

希望對此進行簡短的回顧可以使它變得清晰起來:)

您可以創建一個新的UITabBarController ,並將其視圖添加為應用程序窗口的子視圖。 然后,將其他視圖控制器(針對“關於”和“保存的搜索”部分)添加到該標簽欄控制器。

這可以在Interface Builder中最輕松地完成。 MainWindow.xib ,將“選項卡欄控制器”對象拖到畫布上。 這將自動創建一個包含兩個項目的標簽欄(每個添加的視圖控制器一個)。 對於選項卡欄控制器下的每個視圖控制器,請轉到身份檢查器並將其類更改為自定義視圖控制器子類。 然后,顯示屬性檢查器,並存在一個“ NIB Name”字段-再次將其設置為適當的筆尖名稱。 然后,將從其相應的nib文件中加載您的自定義控制器視圖。 剩下要做的就是為Interface Builder中的每個選項卡命名,並為其提供圖形。

如果您不喜歡IB,也可以通過編程方式執行此操作,方法是將自定義視圖控制器分配給選項卡控制器的viewControllers屬性,然后分配selectedViewController

希望這可以幫助。

編輯

認為顯示一些層次結構可能會有所幫助! 您的MainWindox.xib結構可能如下所示:

  • AppDelegate
  • UIWindow
  • UITabBarController
    • UITabBar
    • AboutViewController(從“ AboutViewController.xib”加載的視圖)
      • 標簽欄項目-關於
    • UINavigationController
      • 導航欄
      • SavedSearchesViewController-根視圖控制器(從“ SavedSearchesViewController.xib”加載的視圖
      • 標簽欄項目

然后像往常一樣從SavedSearchesViewController推送適當的視圖控制器以提供導航內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM