点击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阅读 164,058评论 24 696
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 43,679评论 22 656
  • 很普通的一天 九点多跟室友去食堂来碗面再加个荷包蛋 一贯的日常不变 来得太早 教室里其他班学生没下课 只好坐在那...
    画鱼者阅读 116评论 2 8
  • 阳光透过玻璃窗在角落里形成奇妙的光环,抓拍,一转眼就没了
    金声说今事阅读 95评论 0 0
  • 现在时代的变化,婚前同居,婚前发生关系,以及未婚先孕的例子很多。可是广大女性同胞们,一定要明白一个前提,对方的人...
    ASmileA阅读 325评论 1 0
  • 小时候,大部分女孩子都想当公主,有漂亮的衣服,辉煌的宫殿,还有可爱的宠物。我们当时觉得我们就应该是公主啊,有时会想...
    捃茗阅读 190评论 2 1
  • 第一步:定义anim文件 dialog_enter.xml dialog_exit.xml 第二步:定义style...
    淡定丶说的是阅读 1,563评论 0 1