UITextField 的自动填充已损坏

Autofill for UITextField is broken

在我的应用程序的注册表单中,键盘建议输入我的名字、姓氏,最后输入一个强密码,但不输入我的电子邮件地址。我在故事板和代码中将内容类型设置为电子邮件:

self.emailTxt.textContentType = .emailAddress

但是没有建议。您可以在下图中看到,键盘建议用户的名字和姓氏,但对于电子邮件,它是空白的。

在下一张图片中,我展示了在 Safari 上注册网站时,它确实提示了我的电子邮件地址。更重要的是,它建议自动填充整个页面:

我可能遗漏了什么?

编辑:我创建了一个 github repo 来演示错误。每个字段都应该自动填充。我遇到的是,在此应用程序中,电子邮件有效,但密码不建议创建新密码。没有任何东西可以协同工作。

设置 Content-type = {Email Address} 对我有用。它应该有效。

尝试删除当前的 UITextField 并重新执行

所以,一般来说,问题是 apple 的自动填充功能很难确定我是否在创建帐户。来自他们的 documentation here:

By default, the system selects the a keyboard based on the input view’s textContentType property; however, you can mix the input view’s text content type and keyboard type to explicitly define the desired keyboard. For example, if your site uses email addresses as user names, set the input view’s textContentType property to .username, and set the keyboardType property to .UIKeyboardType.emailAddress.

所以,对于电子邮件地址,我将内容类型设置为用户名,将键盘类型设置为电子邮件,一切都是固定的。