UITextFields中联系信息的快捷方式或自动填充

时间:2017-06-01 16:10:55

标签: ios uitextfield ios10

当我在iOS中使用Safari时,我点击了一个需要输入姓名和地址的表单,我在键盘区域获得了快捷方式。例如,当焦点位于名字字段时,这是键盘。我可以点击" Robert"而不是输入名字。

enter image description here

类似的事情发生在姓氏,电话,电子邮件,邮政编码的字段中。

我可以在UITextField的原生iOS应用中获得类似的功能吗?有没有办法标记一个字段,以便键盘提供这些快捷方式的建议?

4 个答案:

答案 0 :(得分:6)

您可以通过设置autocorrectionType的{​​{1}}来打开或关闭它。 UITextField的默认值为autocorrectionType。这意味着你不需要做任何事情,默认情况下会显示出来。

  

UITextAutocorrectionTypeYes; //开启

     

UITextAutocorrectionTypeDefault; //开启

     

UITextAutocorrectionTypeNo; //关闭

除了设置UITextAutocorrectionTypeDefault值之外,您还需要确保autocorrectionType设备中的Predictive已开启。如果关闭Keyboards Setting,即使您将Predictive更改为autocorrectionType,也无法显示建议。

<强>更新

您可以更改UITextAutocorrectionTypeYes进行选择,并显示建议类型。建议来自textContentType。例如,您需要电话建议

Contacts

答案 1 :(得分:2)

请注意,如果屏幕上有电子邮件和密码,有时本机钥匙串检测会覆盖textContentType = email,因此使用textContentType的自动填充会停止为电子邮件字段工作。像&#34;创建帐户&#34;如果他们不太可能在钥匙串中拥有现有凭据,则最好禁用钥匙串。解决这个问题

要停用钥匙串,只需执行以下操作:emailTextField.textContentType = UITextContentTypeEmail;

然后电子邮件自动填充应该再次起作用: var input = [ [ '2018-05-28T21:51:00Z', 0.00000858, 0.00000857, 0.00000860, 0.00000855, 12511.81490226 ], [ '2018-05-28T21:52:00Z', 0.00000853, 0.00000850, 0.00000856, 0.00000847, 12687.20140187 ], [ '2018-05-28T21:53:00Z', 0.00000848, 0.00000847, 0.00000850, 0.00000846, 12708.9320888 ] ]; var output = _.zipObject(['T', 'O', 'H', 'L', 'C'], _.zip.apply(_, input));

答案 2 :(得分:1)

对于iOS 13,我发现只有在设置以下所有属性的全部3 时,电子邮件建议才会启用:

emailTextField.textContentType = .emailAddress
emailTextField.keyboardType = .emailAddress
emailTextField.autocorrectionType = .yes

您可以以编程方式或通过故事板进行操作。

答案 3 :(得分:0)

我在iOS 13.2中的观察结果是,我从钥匙串设置中禁用了自动填充选项。 然后它开始建议电子邮件 与

emailTextField.textContentType = .emailAddress

enter image description here