ios - 键盘不显示带有 UITextFields 的语言切换按钮(地球)
问题描述
我在一个 UIViewController 中有 2 个 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 在键盘中获取地球按钮?
解决方案
我发现我的软键盘是英语和 Gboard(谷歌键盘)。当第二个 UITextField 获得焦点时,地球按钮不会显示。我认为这可能是 Gboard 不像其他语言键盘 iPhone 那样被计算的问题。所以我用“Apple iPhone 键盘”添加了其他语言,然后它显示了地球按钮。
推荐阅读
- python - 熊猫总和然后除以唯一计数
- jupyter-notebook - 将 nbextensions 与 Jupyter Server 一起使用的正确方法是什么(WinPython 3.8.8)
- java - 将对象列表转换为地图
使用地图/流/收集 - java - Android 房间查询返回 null
- phpunit - 如何在 Symfony 3.4 的单元测试中使用数据库中的数据?
- php - php的智能高亮功能
- java - 如何创建允许用户从 Java 列表中选择某些元素的弹出菜单?
- java - 如何在 Java 中从另一个包和文件夹导入类?
- ajax - JSF:如何在父元素的复合组件中获取 id
- svelte - 如何在 Svelte 3 中有条件地添加和删除`use:`属性?