【发布时间】:2014-03-21 04:03:49
【问题描述】:
我有一个项目,其中包含一个 UIScrollView 和许多 UITextField。
我第一次选择UITextField,调用UIKeyboardWillShowNotification,这很好。但是每当我选择新的UITextField(键盘仍然在那里)时,UIKeyboardWillShowNotification 就会再次被调用!!!,这很奇怪。
我还为[UIResponder resignFirstResponder] 设置了一个符号断点,我看到它在UIKeyboardWillShowNotification 被调用之前和之后被命中!!!
另一件事是UIKeyboardWillHideNotification 仅在我点击键盘上的“完成”按钮时才被调用
我肯定不会在任何地方打电话给任何resignFirstResponder、becomeFirstResponder、endEditing。 (我的意思是不要打错)
什么会导致这个问题?
这里是堆栈跟踪
【问题讨论】:
-
您为什么认为这是一个问题?
-
@matt 刚刚编辑了,我的意思是键盘还在,但是为什么又调用了 UIKeyboardWillShowNotification 呢?
-
默认情况下,它不应该被调用两次,所以你的代码中必须有其他的东西来触发这个动作。如果您创建一个包含两个文本字段的项目并使用 UIKeyboardWillShowNotification 名称实现通知,则您的选择器只会被调用一次。
-
@Chris 谢谢,那么什么会导致这个问题呢?一些手势识别器,.. ?
-
你对手势识别器做了什么奇怪的事情吗?你对
becomeFirstResponder做了什么奇怪的事吗?
标签: ios xcode notifications first-responder