覆盖UITabBarController图标选择

时间:2015-06-22 13:32:58

标签: ios objective-c uitabbarcontroller

我使用标准UITabBarController底部带有图标,每个图标都带有自己的ViewController。我的问题基本上是:

有没有办法覆盖选择图标时会发生什么,而不是直接将它们带到视图中?原因是因为我在选择图标时添加了一个登录屏幕以弹出窗口,但是如果用户没有登录,则宁愿立即显示登录屏幕,而不是先加载视图,然后让它出现通过使用该视图viewWillAppear方法。

所以基本上不是立即加载视图,而是他们没有登录,如果他们没有登录,则会有另一种观点' modal-ly'而是出现了。

1 个答案:

答案 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参数来检查选择了哪个视图控制器。