0

有没有一种方法可以知道用户何时从 UITabbar 的更多视图推送了 UIView?

我在 UITabBar 中有多个视图,其中一些最终出现在列出它们的更多视图中。我希望能够知道何时从更多视图推送视图,而不是何时从 UITabBarItem 推送视图

谢谢 !

4

4 回答 4

2

您可以检查控制器的导航控制器是否是更多导航控制器:

-(void)viewDidLoad {
    [super viewDidLoad];
    if (self.navigationController == self.tabBarController.moreNavigationController) {
        NSLog(@"Launcehed from more");
    }else{
        NSLog(@"Launcehed from tab bar");
    }
}
于 2012-11-17T18:20:00.130 回答
1

你的问题说UITabBar,但我怀疑你的意思是UITabBarController。基于某些选项“最终出现在更多视图中”的方式,由UITabBarController.

如果您的意思是,UITabBarController那么由 aUIViewController提供的是 aUITabBarController可以很容易地确定它是否在更多选项中。

[self.tabBarController.moreNavigationController.viewControllers containsObject:self];

BOOL如果该视图控制器 ( )的选项selfMoreUITabBar.

于 2012-11-17T18:10:38.187 回答
0

不,UITabbarController不会公开该信息。

于 2012-11-17T17:19:31.113 回答
0

您可以将 UIView 子类化并添加一个属性sentFrom,当您将其添加到任何控制器中时,您将传递给 UIView。没有一个已经实现的方法可以做到这一点,所以你必须自己跟踪这些事情。

于 2012-11-17T17:27:21.607 回答