iOS 11禁用密码自动填充附件查看选项?
截至目前,我想选择退出iOS 11给出的新选项,即在应用程序中建议密码。当我在iOS 11上运行应用程序时,我在键盘上获得了自动填充选项,并且我的用户名和密码textfield甚至没有显示出来。iOS 11禁用密码自动填充附件查看选项?
所以,我的问题是,我怎么能一起禁用新的密码自动填充功能,所以键盘上的按键根本没有显示,整体行为与iOS 11前一样?
您可以尝试在这里不同的答案在于结束其可能能够移除accessoryView的。但是这留下了一些错误。
How to hide inputAccessoryView without dismissing keyboard
你可以尝试也许是为了实现自定义键盘,只为密码字段。也尝试禁用您的文本框的建议,我认为这也隐藏了accessoryView。
编辑: 苹果论坛上没有答案在同一个问题上的。此外,我不能在官方uitextfield文档中找到任何关于此的信息。
self.passwordTextField.autocorrectionType = NO;似乎没有工作,钥匙扣的迹象仍然存在,
self.passwordTextField.textContentType = UITextContentTypeName;
上面的代码确实有效,但是如果用户设置了他们的Apple ID帐户,那么Apple ID的名称将显示在键盘上,您不能通过将autocorrectionType设置为No来禁用它,不确定苹果是否仍然完善这个自动填充功能,现在它的错误率很高
该功能可以通过指定既不是用户名也不是密码的内容类型来禁用。例如,如果用户要输入电子邮件地址,你可以使用
usernameTextField?.textContentType = .emailAddress
有趣的是,我在密码字段上方有一个电子邮件地址字段,并且电子邮件地址字段提供了自动填写。 –
@BradRoot更改您的密码字段textContentype呢!如果您的电子邮件已存储在钥匙串中,那么它将在快捷栏中显示信息,所以对用户.nickname更好,或者如果#available(iOS 10.0,*)尝试此代码{ self.passwordTextField.textContentType = UITextContentType.init(rawValue: “”) }其他{ //回退较早版本 } – Sahil
通过分配虚拟textContentType
到密码文本字段可以“关闭”用户名/密码组合检测。
passwordFormField.textContentType = UITextContentType("dummy")
该关闭的关键符号两个密码字段和它之前的电子邮件领域,这样你不使用一个预定义值,你避免显示在键盘附件无关建议视图。
为用户默认启用自动填充功能。 iOS将钥匙串中的所有密码保存在应用程序的键盘中。 UITextView
和UITextField
自动考虑自动填充密码。您可以通过指定既不是用户名也不是密码的内容类型来禁用,但如果内容类型信息已存储在钥匙串中,它将显示在快捷栏中。所以最好分配空的UITextContentType
类型,它不会显示快捷栏。
例子:
if #available(iOS 10.0, *) {
self.textField.textContentType = UITextContentType("")
} else {
// Fallback on earlier versions
}
这为我工作:
if #available(iOS 11, *) {
// Disables the password autoFill accessory view.
textField.textContentType = UITextContentType("")
}
确保你安装所有的UITextField
对象是这样的。例如,如果您有一个UITextField
对象,其中用户必须输入他的电子邮件地址,而另一个用户必须输入密码才能将UITextContentType("")
分配给其两个textContentType
属性。否则,它将无法工作,并且自动填充配件视图仍将显示。
ios11中的一个非常简单的方法为我工作。假设你的iboutlets是usernametextfield和passwordtextfield。您的视图控制器的viewDidLoad方法中的()函数,它拥有两个outlest使用下面的代码
usernametextfield.textContentType = UITextContentType("")
passwordtextfield.textContentType = UITextContentType("")
此之后,你不会看到自动填写附件选项,当你在你的文本框的挖掘。
你可以这样
extension UITextContentType {
public static let unspecified = UITextContentType("unspecified")
}
后
为UITextContentType添加扩展,你可以用它
if #available(iOS 10.0, *) {
passwordField.textContentType = .unspecified
}
目标C版本:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"10.0")) {
self.passwordTextField.textContentType = @"";
self.confirmPasswordTextField.textContentType = @"";
}
其中
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
Objective-C的
if (@available(iOS 10, *)){
self.tfEmail.textContentType = @"";
self.tfPassword.textContentType = @"";
}
这为我工作。
尝试将用户名和密码字段的textContentType属性设置为'.textContentType' - 这应该告诉iOS 11您的字段*不是*用户名/密码字段(尽管它们是)并且防止显示附件视图;类似于'self.passwordField.textContentType = .textContentType' – Paulw11
@zumzum你有没有得到任何解决方案。请分享 –
这对我来说也是一个问题。自动填充功能出现在注册的字段中,这是不需要的。我希望他们只是在登录领域。奇怪的东西。 –