我有一个 UIView
,里面有几个 UITextField
。我已经为 UIKeyboardDidShowNotification
注册了选择器。当我触摸该字段时,将调用选择器并显示键盘。如果我不调用下一个字段选择器,这是应该发生的。
现在,如果我再次执行所有操作,但将简单的 inputAccessoryView
附加到字段,就会发生一些不同的事情。每当我触摸时,都会调用字段选择器,尽管键盘已经显示。
这是 apple 的错误,还是我遗漏了什么?
最佳答案
遇到了类似的问题,额外的通知似乎是“正常的”是因为“inputView”(正如您已经推断的那样)。第一个通知包含键盘的原始大小,而第二个通知的 UIKeyboardFrameBeginUserInfoKey 部分包含键盘大小加上输入 View 的大小。我的猜测是,当它认为键盘的大小“改变”时,它会发出一条新通知,说“嘿,大小已经改变”。诡异的?是的,但据我所知这是预期的行为。
因此,如果您只想对一个使用react,则必须按该帧值进行过滤...
请参阅:dgangsta 在这里回答:(证实了我的猜测) can't get correct value of keyboard height in iOS8
关于ios - 如果 UITextField 具有 inputAccessoryView,则 UIKeyboardDidShowNotification 选择器调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25618694/