这应该很简单,但它变得令人头疼。我有一个带有 UITextField 的 View ,用户可以在其中键入一些文本并单击搜索。这会弹出另一个 View Controller ,在第一个 View 消失之前,我在文本字段上辞去了第一响应者。当第二个 View 被关闭时,第一个 View 会自动使文本字段再次成为第一响应者,我找不到抑制它的方法。有谁知道当我关闭第二个 View 时如何防止键盘弹出?
我尝试在 viewWillAppear 中 resignFirstResponder,没有效果。我在 viewDidAppear 中尝试了同样的操作,但键盘弹出然后立即消失,这看起来很尴尬。
感谢任何帮助。
最佳答案
我找到了一个修复程序,但不是很好。
发现 canBecomeResponder 消息在 viewWillAppear
之后和 viewDidAppear
之前被传递到文本字段。
所以我将 viewDidAppear
中的 BOOL 值设置为 YES,并在 textField:shouldBeginEditing
方法中使用该值。基本上,如果尚未调用 viewDidAppear
,textField:shouldBeginEditing
将返回 NO。
关于iphone - 当 View 变得可见时,UITextField 成为第一响应者,但我不希望它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245433/