首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么becomeFirstResponder不能在警报消息textField上触发软键盘

为什么becomeFirstResponder不能在警报消息textField上触发软键盘
EN

Stack Overflow用户
提问于 2019-10-01 16:16:22
回答 1查看 106关注 0票数 0

我有一个在我的应用上显示textField的UIAlertController。选择textField (标记在其中闪烁),并在textField上设置.becomeFirstResponder。但由于某种原因,soft-keyboard没有显示出来。我打印了一个布尔isFirstResponder,它返回false

我在某处读到它必须在viewDidLoad中触发,但在这种情况下不可能,因为警报是通过按下来自viewDidLoad之外的functionbutton来显示的

下面是我的代码:

代码语言:javascript
复制
func verificationPopup(title: String, message: String, codeShouldBeVerified: Bool, context: UIViewController, callback: @escaping() -> Void) {
    let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)

    //THIS IS THE RELEVANT PART
    if(codeShouldBeVerified) {
        alert.addTextField(configurationHandler: { textField in
            textField.placeholder = "Fyra siffror"
            textField.textAlignment = NSTextAlignment.center
            textField.delegate = self as? UITextFieldDelegate
            textField.becomeFirstResponder()
            print("HERE", textField.isFirstResponder)
        })
        alert.addAction(UIAlertAction(title: "Jag fick ingen kod", style: .default, handler: { action in
            callback()
        }))

    }
    else {
        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
            callback()
            //self.verifyNumber()
        }))

        alert.addAction(UIAlertAction(title: "Avbryt", style: .cancel, handler: {
            action in
            print("CAAAANCEL")
        }))
    }
    context.present(alert, animated: true)
}

当我刚刚设置它的时候,.isFirstResponder返回false,这似乎很奇怪。这里发生了什么事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-01 22:23:29

在某些情况下,软键盘不会出现是很正常的。

(a)当有蓝牙键盘连接到实际设备时,或

(b)在设备模拟器中模拟硬件键盘时(菜单:硬件->键盘->连接硬件键盘)。

我知道这一点已经很久了,但有时我仍然会感到困惑,为什么直到我记得检查(主要是在使用模拟器时),键盘才会出现。它很容易遗漏,所以请确保这里不是这种情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58180655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档