iphone - 当 View 变得可见时,UITextField 成为第一响应者,但我不希望它

标签 iphone ios uitextfield

这应该很简单,但它变得令人头疼。我有一个带有 UITextField 的 View ,用户可以在其中键入一些文本并单击搜索。这会弹出另一个 View Controller ,在第一个 View 消失之前,我在文本字段上辞去了第一响应者。当第二个 View 被关闭时,第一个 View 会自动使文本字段再次成为第一响应者,我找不到抑制它的方法。有谁知道当我关闭第二个 View 时如何防止键盘弹出?

我尝试在 viewWillAppear 中 resignFirstResponder,没有效果。我在 viewDidAppear 中尝试了同样的操作,但键盘弹出然后立即消失,这看起来很尴尬。

感谢任何帮助。

最佳答案

我找到了一个修复程序,但不是很好。

发现 canBecomeResponder 消息在 viewWillAppear 之后和 viewDidAppear 之前被传递到文本字段。

所以我将 viewDidAppear 中的 BOOL 值设置为 YES,并在 textField:shouldBeginEditing 方法中使用该值。基本上,如果尚未调用 viewDidAppeartextField:shouldBeginEditing 将返回 NO。

关于iphone - 当 View 变得可见时,UITextField 成为第一响应者,但我不希望它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17245433/

相关文章:

android-studio - Flutter - 如何更改 TextField 边框颜色?

iphone - objective-c : Accessing next cell of a UITableView

iphone - ffmpeg 不会在 iOS5.1 中进行 ./configure

ios - 适用于 iOS : SKAdNetworkItems, NSUserTrackingUsageDescription、ATTrackingManager 的 Google AdMob 新 SDK 设置。准则 5.1.2 - 法律 - 隐私 - 数据使用

swift - 如何启用/禁用 TextField SWIFT

ios - 如何从 iPhone 中的文本字段标签获取文本

java - 通过 WiFi 的 iPhone 应用程序/Java 服务器结构数据问题

ios - 禁用 CALayer 隐式动画

ios - 如果用户从 pickerView 中选择了一个字符串,我将如何将我的文本字段输入设置为 "0"或 "1"?

ios - 如何仅使用一个单元格在一个 View 上设置 UITableView 单元格宽度不同于在 objc 中选择段按钮