iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了becomeFirstResponder有时无法在ios 10上打开键盘大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用代码创建本机触摸ID警报:

let context = LAContext()

    guard deviceCanUseTouchId(context: context) else {
        return
    }

    presenTingAlert = true
    [context.evaluatePolicy(LAPolicy.DeviceownerAuthenticationWithBiometrics,localizedReason: "touch_id_auth_message".localized(),reply: { [uNowned self] success,error -> Void in
        self.presenTingAlert = false
        self.canPresentAlert = true

        dispatch_async(dispatch_get_main_queue()) {    
            completionHandler?(success)
        }
    })]

调用本机Touch ID警报的按钮处理程序如下所示:

@IBACtion func touchUpInsideUseTouchIdButton(sender: AnyObject) {
    ACTouchId.sharedManager.authenticateWithTouchId(completionHandler: { [weak self] in
        self?.handleTouchIdAuthentication(granted: $0)
        })

    view.endEdiTing(true)
}

这是handleTouchIdAuthentication的代码

private func handleTouchIdAuthentication(granted granted: Bool) {
    if granted {
        //...
    } else {
        passcodeDigitTextField1.becomeFirstResponder()
    }
}

问题是,大多数情况下,当我取消Touch ID本机对话框时,警报正确解除并且winsFirstResponder()正常工作.

但是,在10次左右,lastFirstResponder()返回true,passcodeDigitTextField1获得焦点,但键盘会出现.此外,即使我通过点击将焦点更改为其他文本字段,键盘也不会显示.

扼杀,这适用于ios 9和8.该问题仅在iOS 10上发生.

解决方法

如rajan所说:

这工作,我最终延迟了0.01

我不会标记这个答案,因为这只是一种解决方法.

大佬总结

以上是大佬教程为你收集整理的becomeFirstResponder有时无法在ios 10上打开键盘全部内容,希望文章能够帮你解决becomeFirstResponder有时无法在ios 10上打开键盘所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。