2011-09-25 104 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]; 

第一个返回所选项目的索引,第二个实际的视图控制器,你可能会更好与第一个关闭。

相关问题