【问题标题】:Can't type text into UITextField or UITextView in iOS6无法在 iOS6 中将文本输入 UITextField 或 UITextView
【发布时间】:2012-09-19 22:25:49
【问题描述】:

在我的一个应用程序中,当我尝试编辑(输入一些文本)UITextFieldUITextView 或任何其他“可文本”UIControl 时,光标只是闪烁,但 没有输入任何字符 除了 BACKSPACE(只有当我有一些初始文本时才有可能)、RETURN 和切换字符类型。这适用于整个应用程序的所有控件。

总结:

  1. 它只发生在 iOS 6.0 上(不会发生在 iOS 5.x、4.x 模拟器或真实设备上)
  2. 所有委托方法都被触发(shouldBeginEditing: didBeginEditing:) except shouldChangeCharactersInRange:
  3. isFirstResponder 标志的行为设置正确(shouldBeginEditing:记录 NO,而 didBeginEditing:正确记录 YES)。它还使用 THE firstResponder 是已编辑的日志进行测试。
  4. 它会在任何UIAlertView 呈现给用户并关闭后自行修复。此警报是否显示在同一屏幕(UIViewController 视图)或任何其他屏幕上都没有关系。

我什至不知道如何处理或调试它。

我应该在哪里寻找提示?有跟踪响应者链相关问题等方面的专家吗?

如何追踪UIAlertView 对问题的影响?

【问题讨论】:

  • 发布这个问题以某种方式启发了我,我找到了解决方案。这很简单。是等我给你们一个加分的机会,还是我直接发布答案?
  • 这里是另一个解决方案:stackoverflow.com/questions/12447875/…
  • 请发布您的解决方案,我已经尝试了所有方法,但仍然无法正常工作。 Makekeyandvisible 并不是发生这种情况的唯一原因。

标签: iphone uitextfield uitextview ios6 first-responder


【解决方案1】:

根据您的实现,可能是您忘记在应用程序委托的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法内调用的UIWindow 类的makeKeyAndVisible 方法,也可能是主界面xib 文件中相应的Visible at Launch 标志。

干杯... :)

【讨论】:

  • 是的,就是这样。我还添加了 window.rootViewController = ... 以防万一。看起来 iOS 6 比以前的版本更依赖这些设置。
  • 或者相反,iOS 的早期版本正在为您发出这样的要求...
  • 是的,我最近也设置了 window.rootViewController,以修复启动时出现的警告日志消息。我刚刚发现我之前的做法(将我的 rootViewController 的视图作为子视图添加到窗口)没有 UITextField 缺陷。但是,我不建议回到这种添加 rootViewController 的旧方法。使用 window.rootViewController 并按照此处所述修复问题。
  • 嗨,我有 6 个 UITextField。其中只有一个行为怪异(光标只是闪烁,但除了 BACKSPACE 之外没有输入任何字符,与问题中描述的方式相同)。请提出任何其他解决方案。
【解决方案2】:

在我的情况下,主窗口上有一个“启动时可见”,它未被选中,仅适用于 iOS5,需要检查它才能使其在 iOS6 上运行。

【讨论】:

    【解决方案3】:

    在我的情况下,我有一个活动指示器,它会在后台活动期间在主窗口上弹出。在这种情况下,活动指示器视图有自己的窗口,该窗口设置为 UIWindowLevelAlert。我无意中在这个窗口上调用了 makeKeyAndVisible。稍后我会调用 resignKeyWindow。这曾经适用于 iOS 4 和 5,但不再适用于 iOS 6。我发现这在技术上没有必要,因为简单地使用 window.hidden = Y/N 也可以。

    【讨论】:

      【解决方案4】:

      在我的情况下,我将 UITextField 的 becomeFirstResponder 从 ViewDidLoad 移动到 ViewDidAppear,这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-25
        • 1970-01-01
        • 2017-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多