在IOS8中使用UIKeyboardWillShowNotification的keyboardWillShow

时间:2014-09-14 10:32:27

标签: ios

我在具有不同结果的IOS 7和IOS 8设备上运行相同的代码

给定一个包含两个文本字段的屏幕

在IOS 7中,如果我触摸第一个字段键盘会被调用,但如果我在键盘已经显示时触摸第二个字段,则不会再次调用它。

在IOS 8中,keyboardWillShow被调用两次

这是记录在案的行为吗?

2 个答案:

答案 0 :(得分:6)

原因是键盘的差异。如果第二个字段是密码字段,这意味着引擎盖下有另一个键盘。因此,通知会发送两次。

答案 1 :(得分:0)

最好是听keyboardWillChangeFrameNotification

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrameNotification:) name:UIKeyboardWillChangeFrameNotification object:nil];