延长启动图,并在重新登录操作完成后显示广告页,进入主程序界面等。

来源:互联网 发布:日英翻译软件 编辑:程序博客网 时间:2024/06/03 16:43

最近遇到一个问题,

老板看到安卓版的应用是在执行登录操作之后,再去执行后续的操作,而iOS的流程却是如下:

程序启动->根视图(Navigation->Tabbarvc->5个子vc)->Tabbar第一个子vc的viewwillappear方法判断token,有效性,无效就present一个登录界面,有效就显示第一个子vc内容...

我个人感觉这样是没问题的,但是老板说要判断活跃用户什么的,必须执行一次登录操作。。好吧,只能参考安卓的流程改了


安卓流程如下:

程序启动->登录操作->(1、登录成功,消失掉启动页,进入第一个vc、、、

                                   2、登录失败或者登录未响应,也消失掉启动页,就弹出登录框,并且设置登录信息(密码什么的都是md5加密多次,不会存铭文密码)还有token设置为空)

好吧,这样也可以,但是遇到一个问题->启动页的消失

由于iOS版本当前版本的启动页是系统自带的launchimage,不好控制消失的时间,而如果采用暂停线程来达到登录完成,再去掉启动页的方法显然是不行的(因为暂停线程后,登录接口的访问也会戛然而止)


所以我的思路是:

1、先设置根暂时视图控制器(主要是为了launchimage,如果不设置根视图控制器会黑乎乎一片,或者使用系统自带的window的话,就会走工程生成的viewcontroller,显然不符合tabbatvc的层级,所以重新生成一个window,并设置这个window的根vc一个暂时的vc),

2、接着就立马再window上添加一个imagev,获取本设备的launchimg,并将其设置到imagev上

3、走登录接口,成功或失败,都切换window的根视图到(NavigationVC->TabbarVC->第一个子vc,第一个子vc的viewwillappear还保留着判断token,并显示登录界面的方法),并隐藏window的launchiamge,注意登录失败也要清空相应的登录信息,这样才能保证在切换根视图的时候,在第一个子vc将要出现的时候,弹出登录页面


好了,至此,登录流程和效果跟安卓的已经差不多一样了..


主要流程截图如下


     






















阅读全文
0 0
原创粉丝点击