2012-07-11 97 views
2

我需要在我的主視圖控制器上有一個標籤欄,並帶有選項卡以導航到所有其他控制器。我只需要在這個控制器上的標籤欄,當我到另一個控制器,我只需要有一個後退按鈕去主控制器。 現在我有一些問題。我在主視圖控制器中創建了選項卡欄,並在所有選項卡上添加了我需要的文本和圖像。不過,我看到我只能爲選項卡欄創建IBOutlet,而不是爲每個選項卡創建IBActions(如我所想)。所以我創建了一個IBOutlet並將其連接到我的標籤欄。如何在iOS上創建標籤欄?

我該如何參考每個標籤?

如果我可以參考每個選項卡如何改變視圖控制器當選項卡被選中時我不能使用關於它的操作?(我不是要求代碼來更改控制器,我要求我應該放置代碼的地方,以便我的應用程序知道這個特定的選項卡被按下並且必須更改控制器)。 感謝您閱讀我的文章:d

+0

使用標籤欄控制器,它應該默認處理這樣的一切。比添加標籤欄到視圖控制器要容易得多。 – Dustin 2012-07-11 12:52:58

+0

我看了一些教程,看起來很難... – user1511244 2012-07-11 13:12:55

+0

比自己做所有事情複製標籤欄控制器所具有的功能都難。如果你只是想要一些東西,你可以按其他控制器,然後只是讓一些按鈕連接起來。這需要零代碼。否則,請使用標籤欄控制器。 – Dustin 2012-07-11 13:14:49

回答

1

如何通過我做一個標籤欄控制器

  1. 將標籤欄控制器到故事板(希望你有一個)
  2. 從標籤欄控件拖拽控制器給每個查看您想迷上了它
  3. 飲料瓶

enter image description here

就這樣您知道,這會給您默認的標籤欄控制器行爲(所以它會一直存在,您可以從任何頁面點擊到另一個頁面)。如果這不是你想要的,那麼不要使用標籤欄控制器。否則是可憎的。

+0

我沒有故事板,我不想使用它。我只想讓標籤欄顯示在我的主視圖控制器上,以便我可以導航到其他控制器!在其他控制器上,我只需要一個返回按鈕返回到主控制器。非常感謝你試圖幫助我真的很感激:)。你有什麼想法,我怎麼能以最簡單的方式來描述我所描述的?我想應該有一個函數或與我創建的標籤欄相關聯的smth,以便當你點擊一個標籤時代碼在那裏運行,並根據標籤打你做相應的動作嗎? – user1511244 2012-07-11 13:32:58

+0

故事板是最好的,你應該使用它們。如果您想以編程方式執行所有操作,請閱讀http://stackoverflow.com/q/3923465/1487063。你想要標籤欄做什麼是蘋果不屑的蘋果http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/UIElementGuidelines/UIElementGuidelines.html。爲了以不會被拒絕的方式得到你想要的東西,只需添加一些按鈕並使用'presentModalViewController'。對於後退按鈕,使用'dismissModalViewController' – Dustin 2012-07-11 13:39:01

+0

pff我不相信它很難這樣做。 stackoverflow鏈接並不完全顯示我問:\ – user1511244 2012-07-11 13:55:29

8

您可以在applicationDidFinishLaunching中以編程方式創建UITabBarController,並將其設置爲根視圖控制器(或者如果您願意,可以將其作爲模態視圖呈現)。下面是最少的代碼來做到這一點:

UITabBarController *tabBarController = [[UITabBar alloc] init]; 

UIViewController *controller1 = [[YourViewController alloc] init]; 
UIViewController *controller2 = [[YourOtherViewController alloc] init]; 

tabBarController.viewControllers = [NSArray arrayWithObjects: 
    controller1, 
    controller2, 
    nil]; 

// set as the root window 
window.rootViewController = tabBarController; 

如果您想自定義標籤欄項目的外觀,這樣做的加入在子視圖控制器(S)超載(UITabBarItem *)tabBarItem

- (UITabBarItem *)tabBarItem 
{ 
    return [[UITabBarItem alloc] initWithTitle:@"Amazing" image:[UIImage imageNamed:@"Blah.png"] tag:0]; 
} 
-1

故事板是絕對有用的,但如果你不想使用一個很好的。做控件從選項卡欄控制器拖到新的視圖控制器確實有效(達斯汀的迴應)。