我正在尝试重建旧的Objective-C项目以加快项目进度。
我发现,当焦点在未固定的UITextField和UITextField之间切换时,Shift按钮将闪烁。不仅闪烁,而且有效。所以键盘很快又改变了大写和小写。它使用户感到应用程序有错误。

我在新的示例项目中尝试了同样的事情。特别是韩语键盘显示。而且有时它还会以英文键盘显示。

let tf1: UITextField = {
        let tf = UITextField()
        tf.translatesAutoresizingMaskIntoConstraints = false
        tf.placeholder = "tf1"
        return tf
    }()

    let tf2: UITextField = {
        let tf = UITextField()
        tf.translatesAutoresizingMaskIntoConstraints = false
        tf.placeholder = "tf2"
        tf.isSecureTextEntry = true
        return tf
    }()


    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(tf1)
        view.addSubview(tf2)

        NSLayoutConstraint.activate([
            tf1.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            tf1.centerYAnchor.constraint(equalTo: view.centerYAnchor),
            tf1.widthAnchor.constraint(equalTo: view.widthAnchor, multiplier: 0.8),
            tf1.heightAnchor.constraint(equalToConstant: 50),
            tf2.centerXAnchor.constraint(equalTo: view.centerXAnchor),
            tf2.topAnchor.constraint(equalTo: tf1.bottomAnchor),
            tf2.widthAnchor.constraint(equalTo: tf1.widthAnchor),
            tf2.heightAnchor.constraint(equalTo: tf1.heightAnchor)

            ])

    }

这是我的应用程序中的原始情况。(由于gif无法显示状态,因此我制作图像的速度有些慢)。

ios - 当UITextfields之间的更改焦点具有secureTextEntry为true时,移位按钮将闪烁-LMLPHP

这是示例应用程序。
ios - 当UITextfields之间的更改焦点具有secureTextEntry为true时,移位按钮将闪烁-LMLPHP

我找不到解决方法。
你能给我一些建议吗?

最佳答案

这不是问题,仅当您的textField语言不支持大写的语言环境时才会发生。

  • 因此,当您从textField2交换为textFiled1时,它会锁定语言环境大写,您可以使用shift
  • 进行维护

    关于ios - 当UITextfields之间的更改焦点具有secureTextEntry为true时,移位按钮将闪烁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57267960/

    10-13 04:36