我有这个包含UIImageView的广告类。我已经将我的appdelegate类的实例添加到“窗口”视图中。
现在,我想,当用户点击广告时,将我的“detailedViewController”推送到当前导航控制器上,我的所有标签栏项都包含该控制器。我不知道是否有可能。
也许,我应该将我的广告类添加到每个导航控制器的每个视图控制器中。但是,如果用户按下或更改视图控制器,它将重置该类。
我只想覆盖广告一次。
编辑:
让我重新说一下,我可以从app委托和我的对象知道选择了哪个标签栏项目?如果我可以确定选择了哪个标签栏项目,我可以指向相应的导航控制器实例。
答案 0 :(得分:0)
拥有标签栏控制器的任何人都可以
[myTabBarController selectedIndex];
或
[myTabBarController selectedViewController];
第一个返回所选项目的索引,第二个返回实际视图控制器,第一个可能会更好。
答案 1 :(得分:0)
最简单的方法是将您的DetailVC呈现为ModalView,这在语义上也很有意义。
是的,可以检测选择了哪个标签,但更容易使用selectedViewController
- 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
}