2012-08-06 63 views
1

我已經在IB中構建了一個無需編碼的應用程序100%。我有一點編碼背景,所以請善待一個答案。 :)初學者使用標籤欄和SelectedIndex?

我需要一種方法來使按鈕(即在我的標籤欄控制器外)帶我到我的標籤欄控制器中的特定選項卡。當我在IB中做一個模態鏈接時,它會將我帶到那裏,但底部的標籤欄控制器不見了。

我到底該怎麼做? (用一個例子具體細節將非常感激)

回答以下:

我想通了我自己......對那些可能會尋找一個類似的解決方案......

所有我做的是在我的初始視圖控制器globalVariable中創建一個全局變量。

//myview.h 
#ifndef Globals_h 
#define Globals_h 

extern NSInteger globalVariable; 

#endif 

使用四個按鈕以模式推送到我的標籤欄控制器填充該視圖。每個按鈕都有一個可以改變globalVariable值的動作。

//myview.m 
- (IBAction)button1Action:(id)sender { 
    globalVariable = 0; 
} 
- (IBAction)button2Action:(id)sender { 
    globalVariable = 1; 
} 
//etc etc 

然後標籤欄控制器中,只需設置你的selectedIndex到全局變量中的viewDidLoad中

//tabbarcontroller.m 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.selectedIndex = globalVariable; 
} 
+1

請您總結一下你的文章,所以我們知道你的問題/問題是什麼。您可以在文字的頂部或底部以粗體添加問題。謝謝! – Dayan 2012-08-06 20:38:00

+0

好的...我需要使用按鈕才能轉到我的標籤欄控制器中的特定選項卡。我試圖通過IB實現這一點,因爲我的整個應用程序都是在這裏編寫的。這怎麼可能?謝謝。 – Stangs55 2012-08-06 20:44:05

+0

如果不編寫代碼,你無法做到這一點。但從你的問題來看,我真的不確定你想要做什麼。我建議編輯它(嚴重)到你想要做什麼,你嘗試過什麼,以及它有什麼問題。保存你的博客的生活故事:) – jrturton 2012-08-06 20:49:18

回答

1

我想出了我自己...對於那些可能正在尋找類似的解決方案...

我所做的只是在我的初始視圖控制器中創建一個全局變量,稱爲globalVariable。

//myview.h 
#ifndef Globals_h 
#define Globals_h 

extern NSInteger globalVariable; 

#endif 

使用四個按鈕以模式推送到我的標籤欄控制器填充該視圖。每個按鈕都有一個可以改變globalVariable值的動作。

//myview.m 
- (IBAction)button1Action:(id)sender { 
    globalVariable = 0; 
} 
- (IBAction)button2Action:(id)sender { 
    globalVariable = 1; 
} 
//etc etc 

然後標籤欄控制器中,只需設置你的selectedIndex到全局變量中的viewDidLoad中

//tabbarcontroller.m 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.selectedIndex = globalVariable; 
} 
0

獲得IB設立觸摸上擡動作爲您的按鈕

該方法你想訪問作爲你當前控制器父母的TabBar控制器

UITabBarController tbc = (UITabBarController) [self parentviewcontroller]; 
tbc.selectedIndex = 2; //or whatever the index you need