前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS开发中点击UITabBarItem弹出一个控制器(如常见未登录用户点击购物车弹出登录页面的效果)

iOS开发中点击UITabBarItem弹出一个控制器(如常见未登录用户点击购物车弹出登录页面的效果)

作者头像
用户1451823
发布2018-09-13 15:30:45
1.4K0
发布2018-09-13 15:30:45
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337697

项目的tabBar:

最近在做一个商城的项目,项目一需求:点击购物车弹出一个提示框提示用户该板块暂未开放。这个效果的实现方式和在用户未登录时点击购物车弹出一个登录页面(看天猫)的实现方式是一样的,我们需要拦截TabBarItem的点击事件。

我在AppDelegate中将TabBarController设置了window的rootController,因此在AppDelegate中设置tabBarController的代理(遵守协议:UITabBarControllerDelegate),实现协议中的方法:

#pragma mark --- UITabBarControllerDelegate

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

UINavigationController * nav = (UINavigationController *)viewController;

UIViewController * vc = nav.childViewControllers0;

if ([vc isKindOfClass:ShoppingCartViewController class]) {

UserLoginObject *loginObject = UserLoginObject sharedUserLoginObject;

BOOL loginFlag = loginObject loginOrOutLogin;

if (loginFlag == NO) {

LoginController *loginC = [LoginController alloc init];

            loginC.present = 1;

            self.window.rootViewController presentViewController:loginC animated:YES completion:nil;

        }else{

            SVProgressHUD showErrorWithStatus:@"该板块未开发";

return NO;

        }

return NO;

    }

return YES;

}

当点击tabBarItem的时候就会调用该方法,return YES:能点击item对应的控制器,return NO:不能点击item对应的控制器。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年08月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档