我的一个ipad应用程序屏幕有多个文本字段。在少数文本字段为用户输入操作/决定/预填充信息等生成弹出窗口。当默认的ipad keyaboard使用时它正常工作。但是当我们尝试使用带有Tab键的外部键盘时,我会收到所有在线文本字段的多个 textfieldshouldbeginingiting 事件。 我已将所有逻辑添加到 textfielddidbeginediting 方法中,但我无法隐藏由于textfield应该通过Tab键生成的其他键事件而弹出的键盘。我们如何从外部设备停止Tab键事件?或者我不想在按Tab键时获得多个 textfieldshouldbineiting 。
我可以通过模拟器和放大器重现这个问题。使用macbook键盘tab键为多个uitextfields。
TextField becomeFirstResponder Issue for tab key(Keyboard) action
答案 0 :(得分:0)
我遇到了类似的问题,最终不得不将所有逻辑放在textfielddidbeginediting方法中。
要关闭键盘,您可以使用自己的方法执行以下操作:
[self.view endEditing:YES];
答案 1 :(得分:0)
花费约2个小时寻找此解决方案。如果您需要在Swift中执行此操作,并且想在将Tab键按下到某个字段后弹出一个字段,则代码如下:
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField == yourIBOutletReference { //Could also check via Tags.
self.view.endEditing(true)
yourPopupFunction()
}
}