奇葩问题-主window消失?

制作用户登出功能时,用户点击登出按钮,弹出一个alertview,点击确定即把window.rootviewcontroller改成登录vc.

然后发现程序怎么看都不太对劲的样子,最后才注意到:状态栏没了- -

开始摸不着头脑,各种试.随即发现再次试图show alert的时候,控制台出来Attempt to present  XX on YY  whose view is not in the window hierarchy!这样的输出.

合着是window没了?!

仔细想想应该不是这样的.于是把登出步骤中弹出alert的过程给省了,直接换rootvc,果然是ok的.

废话了这么多,其实最终的解决方案是:点击alert的确定按钮之后,弹出一个hud写个"正在退出登录"神马的骗骗用户,其实就是延迟一秒钟调用换rootvc的方法而已.于是猜想:造成这种情况,应该是因为alert的弹出机制.alertview是凌驾于所有试图之上的,也可以说是凌驾于window上的,他有自己的window.当点击"确定"按钮时,alert的window还没消失,于是获得的是alert的window,进而将alert的window.rootvc切换为登录vc.当然这只是瞎猜而已,如果有大神了解其真正机制,还望不吝赐教~

奇葩问题-主window消失?

上一篇:百度地图Api进阶教程-点聚合9.html


下一篇:C#下对象与JSON串互相转换