如何获得UITextField的textContentType属性来执行任何操作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (85)

下面是关于UITextField的textContentType属性的文档:

使用此属性向键盘和系统提供用户输入的内容的预期语义意义的信息。例如,您可以指定UITextContentTypeEmailAddress对于用户填写以接收电子邮件确认的文本字段。当您提供有关您期望用户输入文本输入区域的内容的信息时,系统可以在某些情况下自动选择适当的键盘,并改进键盘更正和与其他文本输入机会的积极集成。由于每个文本输入区域的预期语义应该尽可能具体地标识,因此不能为一个文本条目组合多个值。textContentType财产。有关可以使用的可能值,请参见文本内容类型;默认情况下,此属性的值为nil

这看起来很简单,但我想不出如何才能真正做到这一点。我创建了一个简单的演示应用程序,添加了一个文本字段,并设置了self.textField.textContentType = UITextContentTypeEmailAddress。然后我在带有iOS 10.0.1的iPhone 7上运行了它。

至少,我预期这将自动选择电子邮件键盘,而不必显式设置它。它没有-我在我的iPhone上得到了标准键盘。

我也希望它显示我自己的电子邮件地址的QuickType建议。我在其他地方见过这种情况--如果我在Safari,它检测到我正在编辑一个电子邮件字段,它会显示我的家庭和工作电子邮件地址作为建议。同样,它在这里没有这样做,尽管文档表明它应该这样做。

即使我也设置了keyboardTypeUIKeyboardTypeEmailAddress,我仍然没有得到我期待的QuickType建议。

有一个WWDC讨论了这个新功能,但除了设置这个单一属性之外,没有任何建议表明您需要做任何其他事情。

我是不是错过了一些步骤,或者这是不是真的做了我期望的事情?

提问于
用户回答回答于

这最终在iOS 11的第三方应用程序中得到了支持。我在iOS 11 beta 1上安装了一个使用IOS10.3SDK构建的应用程序。它包括了textContentType = UITextContentTypeEmailAddress这些正确地显示了我联系卡上的两个电子邮件地址。我也有字段textContentType = UITextContentTypePostalCode这正确地暗示了我的邮政编码。

除了现有类型之外,IOS 11还添加了UITextContentTypeUsernameUITextContentTypePassword,可以用来支持应用程序密码自动填充

用户回答回答于

所属标签

可能回答问题的人

  • 不吃貓的鱼oo

    5 粉丝466 提问6 回答
  • Richel

    8 粉丝0 提问4 回答
  • 骑牛看晨曦

    4 粉丝522 提问3 回答
  • 发条丶魔灵1

    6 粉丝525 提问3 回答

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励