常见问题

1、ios8.3上键盘莫名弹出

      工作中遇到这样一个问题,在某个界面上弹了个alertViewController后,进入下一个界面时,会莫名其妙的弹出一个键盘。

     hook了UIResponder的becomeFirstResponder后,发觉最后触发键盘的堆栈是这样子的:

     很清楚的表明,这次键盘莫名其妙的弹出是由UIAlertViewController触发的。在alertViewController消失的时候,会保存之前键盘的状态并恢复。

     奇怪的是,在这个键盘弹出前,我有让这个界面上所有的textField放弃第一响应者的。

      在stackOverflow上发现有人有类似的问题:

      http://stackoverflow.com/questions/30498972/keyboard-will-appeared-automatically-in-ios-8-3-while-displaying-alertview-or-al/30499931#30499931
      此人也是xcode6.3 ios8.3,测试了alertView的表现。
 
     下面提供的解决方法中:1、ios8之后,用UIAlertController来代替UIAlertView ,验证OK
     有人分析:
    1、当一个alert显示时,它会保存当前显示的键盘
    2、当这个alert结束了消失动画时,它会恢复之前保存的键盘。
     

 

    

2、ios7上containsString会crash,改用rangeOfString

posted @ 2015-07-03 11:52  little_star  阅读(215)  评论(0编辑  收藏  举报