问题描述:
想要做一个不登录不能使用的app ,app的主要框架是一个TabBarController。。在第四个TabBarItem对应的Controller中有注销按钮。。点击注销后--到登录界面 --登录成功跳到第一个TabBarItem对应得Controller中。。第一次启动app的时候也要检查是否登录。已经登录跳转到和登录成功后一样的界面。。没登录进入到登录界面。。。怎么实现最好呢。。。
卡住的地方是:如果在appdelegate中判断。。那注销的时候又不会调用到didFinishLaunching这个方法。。在每个tabbar的每个页面去判断,。就要点击注销的时候present到登录界面。。登录成功dismiss掉 可是这里实在第四个tabbar对应的Controller上。。还要先跳转到第一个Controller(首页)再dismiss。。。我觉得这样实现起来有点怪。。我觉得思路有问题。。所以来问下
不知道表达清楚了没有====
在UITabBarControllerDelegate中有
-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
可以在其中进行判断,展示登录的ModelView登录成功之后是都要跳转到第一个TabBar对应的页面还是,在哪里做了一个必须登录的操作--跳转到登录--返回到必须登录才能操作的那个页面呢!
可以全局记录一个状态,存到偏好里,注销和登录成功的时候去修改这个状态
rootViewController
未登录时把登录的控制器设为rootViewController。
登录完成后把TabBarController设为rootViewController。
注销时再切一下。
怎么没和服务器通信?!
你思路这么清晰了,是让别人给你写代码么?