>有没有一种方法可以知道用户何时从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
那么是的,UITabBarController
呈现的UIViewController
可以很容易地确定它是否在更多选项中。
[self.tabBarController.moreNavigationController.viewControllers containsObject:self];
这将返回一个BOOL
,如果该视图控制器(self
)的选项列在UITabBar
的More
部分中,则该为true。
您可以对 UIView 进行子类化并添加一个属性sentFrom
,当将其添加到任何控制器中时,您将传递给 UIView。没有已经实现的方法可以做到这一点,因此您必须自己跟踪这些事情。
不,UITabbarController
不会公开该信息。