页面跳转时“突然”弹出键盘的问题

下午在解决Bug的时候碰上了一个很有意思的Bug,页面是个修改密码的页面,当用户输完内容点击确定时弹出菊花效果,回调后取消菊花效果显示警告框提示用户是否修改成功。到这里位置没有任何问题,当用户修改成功后强制重新登录这里出现了一个Bug。这里的逻辑是这样的:当用户修改成功弹出登录页面,在弹的过程中键盘突然莫名其妙地蹦了出来!!!一开始以为是哪里点错了,后来多试了几次结果每次都是这样。。。
然后一个小时都在找这个键盘为啥弹出来,是不是哪里让TextField成为了第一响应者,但是并没有找到根源。后来搜索了一下,找到了类似的问题,才恍然大悟,问题的产生应该是这样的:

当我输完“再次输入密码”点击确认时,注意键盘这个时候是展示的,但这个时候我让菊花或者警告框去显示了,键盘并没有收回但它已经“不见了”,其实键盘它的动画并没有完成!!!在我所有的动画做完之后,键盘未完成的动画要继续完成。这就解释了为什么跳转前或者跳转后突然键盘会出来一下马上消失。<个人的理解,可能有点偏差>

找到了问题的关键那么解决的方案就有很多种了:

比如:延迟0.25秒等键盘收回再去加载自己的动画效果;或者动画完成后设置window的编辑状态为NO等等。。。

另外还有一个问题:当我的界面push到修改密码界面之后,这时候修改完成切换window的根视图,之前那个修改密码的页面并没有消失,在新的根视图的下面被盖着。必须pop到根控制器,切换window的根视图旧的视图才会全部消失。这是不是因为压栈之后对象无法释放的原因,希望大神指教。。。

你可能感兴趣的:(页面跳转时“突然”弹出键盘的问题)