美文网首页程序员@IT·互联网
点击tabbar做未登录判断以及用通知实现页面dismiss后到

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

作者: Niner小柯基 | 来源:发表于2017-05-02 16:58 被阅读0次

    今天在做登录页面跳转需求的时候,需要点击『我的』页面判断用户是否登录,如果已经登录就直接进入『我的』页面,如果未登录就要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的值传递过去,我自己用了稍微笨一点的方法,多多提意见~

    相关文章

      网友评论

        本文标题:点击tabbar做未登录判断以及用通知实现页面dismiss后到

        本文链接:https://www.haomeiwen.com/subject/gaactxtx.html