【发布时间】:2016-09-22 07:42:48
【问题描述】:
Here's the documentation on UITextField's textContentType property:
使用此属性为键盘和系统提供有关用户输入内容的预期语义含义的信息。例如,您可以为用户填写以接收电子邮件确认的文本字段指定
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 的字段,它没有影响。
-
在这里不工作,想不出任何其他选项或应用程序元数据可以使它工作:(在 Safari 中工作。第 3 方应用程序:在 Uber 的 WWDC 上进行了演示 - 我想知道,它在 Uber 中仍然有效吗?
-
在 iOS 10.2 中仍然存在问题
标签: ios objective-c uitextfield uikit