iOS 开发中点击tabBar模态登录界面
2016-04-07 本文已影响1740人
Senior丶
在开发中,我们常常会遇到,当用户未登录的时候,点击某个tabbarItem提示用户来登录,如果用户取消,还会停留在之前的界面.
这里我们用到UITabBarController的代理一个方法
遵循代理 : <UITabBarControllerDelegate>
self(tabBarController控制器本身).delegate = self;
//代理方法,这个方法是来判断当点击某个tabBarItem时是否要点击下去,
其实你可以这样理解:就是是否要点击这个tabBarItem.
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
//判断用户是否登陆
if (isLogin == NO) {
//这里拿到你想要的tabBarItem,这里的方法有很多,还有通过tag值,这里看你的需要了
if ([viewController.tabBarItem.title isEqualToString:@"消息"] || [viewController.tabBarItem.title isEqualToString:@"订单"]) {
LoginController *vc = [LoginController new];
[self presentViewController:vc animated:YES completion:nil];
//这里的NO是关键,如果是这个tabBarItem,就不要让他点击进去
return NO;
}
}
//当然其余的还是要点击进去的
return YES;
}