iOS 开发中点击tabBar弹出登录界面

以前我实现弹出登录界面是在对应的controller中的viewwillappear里实现,这样做的缺点是,点击要弹出登录界面的tabbar里的contrllor时会先显示对应界面再弹出登录。需求希望在点击切换tabbar的item时就弹出登录,不进入对应界面。

实现代码如下:

需要实现tabbarController对应的代理方法,遵循代理UITabBarControllerDelegate!!!

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {

    

    int utype =  [[MXKit shareMXKit]getUserInfo];

    

    //判断用户是否登陆

    if (utype== 1) {

        //这里拿到你想要的tabBarItem,这里的方法有很多,还有通过tag值,这里看你的需要了

        if ([viewController.tabBarItem.title isEqualToString:@"我的"]||[viewController.tabBarItem.title isEqualToString:@"朋友圈"]||[viewController.tabBarItem.title isEqualToString:@"交易发布"]||[viewController.tabBarItem.title isEqualToString:@"会议"]) {

            MXRLCLoginViewController *vc = [MXRLCLoginViewController new];

            [self.window.rootViewController presentViewController:vc animated:YES completion:nil];

            //这里的NO是关键,如果是这个tabBarItem,就不要让他点击进去

            return NO;

        }

    }

    //当然其余的还是要点击进去的

    return YES;

}

你可能感兴趣的:(iOS码农)