Here's the documentation on UITextField's textContentType property:如何获得UITextField的textContentType属性来执行任何操作?
使用这个属性给键盘和有关用户输入内容的预期语义系统信息。例如,您可以为用户填写的文本字段指定
UITextContentTypeEmailAddress
以接收电子邮件确认。当您提供有关您希望用户输入到文本输入区域的内容的信息时,系统可以在某些情况下自动选择合适的键盘,并改进键盘更正和主动整合其他文本输入机会。由于每个文本输入区域的预期语义应尽可能具体标识,因此不能将多个值组合为一个
textContentType
属性。有关可以使用的可能值,请参阅Text Content Types;默认情况下,此属性的值为nil
。
这似乎很简单,但我不知道如何使这实际上做任何事情。我创建了一个简单的演示应用程序,添加了一个文本字段,并设置了self.textField.textContentType = UITextContentTypeEmailAddress
。然后我用iOS 10.0.1在iPhone 7上运行它。
至少我期望它能够自动选择电子邮件键盘,而不必明确地设置它。它不 - 我得到我的iPhone上的标准键盘。
我还希望它显示我自己的QuickType建议的电子邮件地址。我在其他地方看到过这种情况 - 如果我在Safari中,并且它检测到我在编辑电子邮件字段,则会将我的家庭和工作电子邮件地址显示为建议。再说一遍,即使文档建议它应该这样做,它也不会这样做。
即使我也设置keyboardType
为UIKeyboardTypeEmailAddress
,我仍然没有得到我期待的QuickType建议。
There's a WWDC talk that discusses this new capability,但从来没有任何建议您需要做任何事情,除了设置这个单一的属性。
我错过了一些步骤,还是这实际上没有做我所期待的?
FWIW,我没有看到它要么工作。我将它设置为输入“地点”或位置,或者对于我们输入地名和AFAICT的字段的任何选项,它都没有影响。 – Hunter
不能在这里工作,不能想到任何其他选项或应用程序的元数据,将使其工作:(在Safari中工作。第三方应用程序:在优步WWDC的demo'd - 我想知道,它仍然工作在优步? –
仍然在iOS 10.2中破碎 – fabb