有没有一种方法可以知道用户何时从 UITabbar 的更多视图推送了 UIView?
我在 UITabBar 中有多个视图,其中一些最终出现在列出它们的更多视图中。我希望能够知道何时从更多视图推送视图,而不是何时从 UITabBarItem 推送视图
谢谢 !
您可以检查控制器的导航控制器是否是更多导航控制器:
-(void)viewDidLoad {
[super viewDidLoad];
if (self.navigationController == self.tabBarController.moreNavigationController) {
NSLog(@"Launcehed from more");
}else{
NSLog(@"Launcehed from tab bar");
}
}
你的问题说UITabBar
,但我怀疑你的意思是UITabBarController
。基于某些选项“最终出现在更多视图中”的方式,由UITabBarController
.
如果您的意思是,UITabBarController
那么由 aUIViewController
提供的是 aUITabBarController
可以很容易地确定它是否在更多选项中。
[self.tabBarController.moreNavigationController.viewControllers containsObject:self];
BOOL
如果该视图控制器 ( )的选项self
列More
在UITabBar
.
不,UITabbarController
不会公开该信息。
您可以将 UIView 子类化并添加一个属性sentFrom
,当您将其添加到任何控制器中时,您将传递给 UIView。没有一个已经实现的方法可以做到这一点,所以你必须自己跟踪这些事情。