点击tabbar做未登录判断以及用通知实现页面dismiss后到tabbar的指定页面

今天在做登录页面跳转需求的时候,需要点击『我的』页面判断用户是否登录,如果已经登录就直接进入『我的』页面,如果未登录就要present到登录页面,登录页面点击取消按钮的时候登录页面消失,并且当前页面是上一次停留的页面,应该是大多数app的需求,上代码啦~

首先在UITabBarController里做用户是否登录的判断


其中

NSUInteger tabindex=[tabBar.items indexOfObject:item];

if (tabindex!=self.selectedIndex) {

tempnum=self.selectedIndex;

}    

判断当前点击的页面是不是已经选择的页面,如果不是说明发生页面跳转关系

tempnum是定义的全局变量   初始值为0,用来记录上一次用户所停留的页面,将其设置为当前已经选择的页面而不是正在点击的页面

当点击第三个也就是『我的』页面的时候,判断用户是否已经登录,如果未登录则跳转到登录页面,同时存储用户上次选择的页面

log.lastnum=tempnum;

NSString *tempindex=[NSString stringWithFormat:@"%ld",tempnum];

kSaveStandardUserDefaults(tempindex,kselectIndex);



接下来是登录页面也就是LoginVC发送通知

在取消登录的按钮事件中



发送通知   通知我这个页面消失啦



然后在『我的』页面接收通知并将当前的视图设定为上次选择的视图


NSInteger numss=[kStandardUserDefaultsObject(kselectIndex) integerValue];就是存储到上次选择为第几个视图,然后就可以实现啦~    没太看懂的小伙伴可以给我留言哦     还也可以直接在通知里就把tempnum的值传递过去,我自己用了稍微笨一点的方法,多多提意见~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,019评论 25 708
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,871评论 22 665
  • 很普通的一天 九点多跟室友去食堂来碗面再加个荷包蛋 一贯的日常不变 来得太早 教室里其他班学生没下课 只好坐在那...
    画鱼者阅读 225评论 2 8
  • 阳光透过玻璃窗在角落里形成奇妙的光环,抓拍,一转眼就没了
    金声说今事阅读 238评论 0 0
  • 现在时代的变化,婚前同居,婚前发生关系,以及未婚先孕的例子很多。可是广大女性同胞们,一定要明白一个前提,对方的人...
    ASmileA阅读 490评论 1 0