首页 > 解决方案 > 键盘不显示带有 UITextFields 的语言切换按钮(地球)

问题描述

我在一个 UIViewController 中有 2 个 UITextField。

第一个是电子邮件。当它获得焦点时,键盘将显示语言切换按钮(地球)。 带键盘的电子邮件 UITextField

第二个是昵称。当它获得焦点时,键盘将显示没有地球按钮。 Nickaame UITextField 带键盘

这两个 UITextField 之间的代码几乎相同。即使我将昵称 UITextField 更改为电子邮件 UITextField 的键盘类型,它也不会显示地球按钮。我不知道为什么第二个 UITextField 总是不显示地球按钮。

代码如下:

        mEmail = UITextField(frame: CGRect(x: PADDING,
                                           y: innerY,
                                           width: mInputArea!.bounds.width - PADDING*2,
                                           height: 40))
        mEmail!.textContentType = .emailAddress
        mEmail!.autocapitalizationType = .none
        mEmail!.keyboardType = .emailAddress
        mEmail!.layer.borderColor = ColorDef.background.cgColor
        mEmail!.layer.borderWidth = 1
        mEmail!.layer.cornerRadius = 4
        mEmail!.placeholder = localizedInfoPlist("Account_Email")
        mEmail!.clearButtonMode = .whileEditing
        mEmail!.returnKeyType = .next
        mEmail!.delegate = self
        mInputArea!.addSubview(mEmail!)
        innerY += (PADDING + mEmail!.bounds.height)

        mName = UITextField(frame: CGRect(x: PADDING,
                                          y: innerY,
                                          width: mEmail!.bounds.width,
                                          height: mEmail!.bounds.height))
        mName!.textContentType = .nickname
        mName!.autocapitalizationType = .none
        mName!.keyboardType = .default
        mName!.layer.borderColor = ColorDef.background.cgColor
        mName!.layer.borderWidth = 1
        mName!.layer.cornerRadius = 4
        mName!.placeholder = localizedInfoPlist("Nickname")
        mName!.clearButtonMode = .whileEditing
        mName!.returnKeyType = .next
        mName!.delegate = self
        mInputArea!.addSubview(mName!)
        innerY += (PADDING + mEmail!.bounds.height)

如何使用昵称 UITextField 在键盘中获取地球按钮?

标签: iosswiftiphone

解决方案


我发现我的软键盘是英语和 Gboard(谷歌键盘)。当第二个 UITextField 获得焦点时,地球按钮不会显示。我认为这可能是 Gboard 不像其他语言键盘 iPhone 那样被计算的问题。所以我用“Apple iPhone 键盘”添加了其他语言,然后它显示了地球按钮。


推荐阅读