我在具有不同结果的IOS 7和IOS 8设备上运行相同的代码
给定一个包含两个文本字段的屏幕
在IOS 7中,如果我触摸第一个字段键盘会被调用,但如果我在键盘已经显示时触摸第二个字段,则不会再次调用它。
在IOS 8中,keyboardWillShow被调用两次
这是记录在案的行为吗?
答案 0 :(得分:6)
原因是键盘的差异。如果第二个字段是密码字段,这意味着引擎盖下有另一个键盘。因此,通知会发送两次。
答案 1 :(得分:0)
最好是听keyboardWillChangeFrameNotification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrameNotification:) name:UIKeyboardWillChangeFrameNotification object:nil];