2011-09-25 202 views
0

我有這個廣告類,它包含一個UIImageView。我已將該類的一個實例添加到我的appdelegate到「窗口」視圖中。推進導航堆棧不在導航控制器

現在,我想,當用戶點擊廣告時,將我的「detailedViewController」推到當前導航控制器上,其中包含我的所有選項卡欄項目。我不知道這是否可能。也許,我應該只是將我的廣告類添加到每個導航控制器的每個視圖控制器。但是,如果用戶按下或更改視圖控制器,則會重置該類。

我只想覆蓋一次廣告。

編輯:

讓我改,我從應用程序的委託,並從我的對象就可以知道哪個標籤欄項目被選中?如果我可以確定選擇哪個標籤欄項目,我可以指向適當的導航控制器實例。

回答

0

最簡單的方法是將DetailVC作爲ModalView呈現,這在語義上也是有意義的。

是的,可以檢測選擇了哪個選項卡,但使用屬性的UITabBarController更容易。

UIViewController *curVC = myTabBarController.selectedViewController; 
if([curVC isKindOfClass:UINavigationController.class]) 
{ 
    UINavigationController *nav = (UINavigationController*)curVC; 
    [nav push...]; 
} 
else 
{ 
    // do sth else: go to webpage for instance 
} 
0

誰擁有了標籤欄控制器可以做

[myTabBarController selectedIndex]; 

[myTabBarController selectedViewController]; 

第一個返回所選項目的索引,第二個實際的視圖控制器,你可能會更好與第一個關閉。