退出登录功能改变window的rootviewcontroller输入框键盘不会收起

  最近在公司负责做ipad开发,一个简单的需求,一个设置视图以modal的方式弹出,占据屏幕的中间一块区域,这时点击视图上的退出登录按钮,切换程序主window的rootviewcontroller为登录controller,这时问题来了,所有的输入框激活后弹出的键盘都不能自动收回,包括进入程序后其他二级页面弹出键盘返回一级页面也不会自动收回键盘,这个坑卡了我比较久的时间,还好终于被我解决了,但是这里面的深层原因我不太清楚,还望高手看到后解答。

大家可以看到我画的这两个示意图。

具体的解决办法是,modal出来的设置页必须先dismis下去,也就是先消除自己,然后再切换程序的window的rootviewcontroller,一切恢复正常。

[self dismissViewControllerAnimated:YES completion:nil];

原文地址:https://www.cnblogs.com/q403154749/p/4227329.html