【问题标题】:external keyboard tab event on iosios上的外部键盘选项卡事件
【发布时间】:2014-01-21 03:11:15
【问题描述】:

我的 ipad 应用程序屏幕之一有多个文本字段。在这几个文本字段上为用户输入操作/决策/预填充信息等生成弹出窗口。使用默认 ipad 键盘时它工作正常。但是当我们尝试使用带有 Tab 键的外部键盘时,我得到了所有存在文本字段的多个 textfieldshouldbeginediting 事件。 我已将所有逻辑添加到 textfielddidbeginediting 方法中,但我无法隐藏由于 textfieldshouldbeginediting 由 tab 键生成的其他键事件而弹出的键盘。我们如何停止来自外部设备的制表键事件?或者我不想在按下 Tab 键时获得多个 textfieldshouldbeginediting

我可以通过模拟器重现此问题,并为多个 uitextfields 使用 macbook 键盘 tab 键。

TextField becomeFirstResponder Issue for tab key(Keyboard) action

【问题讨论】:

  • 感谢分享“textfieldshouldbeginediting:为所有文本字段调用”。这正是我们的应用在 iOS 9.1 iPad 模拟器上按下“tab”键时发生的情况。

标签: ios keyboard external


【解决方案1】:

我遇到了类似的问题,最终不得不将所有逻辑放在 textfielddidbeginediting 方法中。

要关闭键盘,您可以使用自己的方法执行以下操作:

[self.view endEditing:YES];

【讨论】:

    【解决方案2】:

    花了大约 2 个小时寻找这个解决方案。如果您需要在 Swift 中执行此操作,并且想要在按 Tab 键后弹出一个字段,则代码如下:

    func textFieldDidBeginEditing(_ textField: UITextField) {
        if textField == yourIBOutletReference { //Could also check via Tags.
            self.view.endEditing(true)
            yourPopupFunction()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-02-25
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      相关资源
      最近更新 更多