【发布时间】:2016-02-28 20:08:38
【问题描述】:
我的应用程序中的所有UIViewControllers 都由顶级UINavigationController 管理。在当前位于我的导航堆栈顶部的UIViewController 中,我有一组UITextFields。
当我在这些文本字段之一上调用 becomeFirstResponder() 然后立即返回而不首先更改焦点时,会出现问题,例如通过点击另一个字段。导航回一个级别后,键盘出现了,我找不到阻止它出现或使其消失的方法。当我进一步推送导航堆栈的视图时,它甚至会保持不变。
- 这直接或间接连接到
becomeFirstResponder()调用,因为没有那个调用, 不会出现问题。 - 即使我出于测试目的调用
resignFirstResponder()紧跟在becomeFirstResponder()之后 导航回来后键盘仍然出现。
我尝试了其他方法,例如检测和辞职第一响应者或在viewWillDisappear() 中调用endEditing(),但没有成功。在相应的视图从堆栈中弹出后,我什至不确定这个键盘属于什么。我无法在 View Debugger 中检查键盘,因为它没有出现在那里。
为什么会出现键盘,如何防止?
【问题讨论】:
标签: ios swift uinavigationcontroller iphone-softkeyboard