我使用标准UITabBarController
底部带有图标,每个图标都带有自己的ViewController
。我的问题基本上是:
有没有办法覆盖选择图标时会发生什么,而不是直接将它们带到视图中?原因是因为我在选择图标时添加了一个登录屏幕以弹出窗口,但是如果用户没有登录,则宁愿立即显示登录屏幕,而不是先加载视图,然后让它出现通过使用该视图viewWillAppear
方法。
所以基本上不是立即加载视图,而是他们没有登录,如果他们没有登录,则会有另一种观点' modal-ly'而是出现了。
答案 0 :(得分:0)
UITabBarControllerDelegate有委托方法
- tabBarController:shouldSelectViewController:
,只需实现它并检查用户是否已登录。
e.g。
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if (isLogin) {
return YES;
}
else{
//show your view controller here
return NO;
}
}
您还可以通过比较viewController
参数来检查选择了哪个视图控制器。