在文本字段中用“•••••••”隐藏密码


132

在我的应用程序中,有一个textField用户必须在其中输入密码,我希望当他输入字符时将其更改为“•”,我该怎么做?

Answers:


302

您可以直接在Xcode中实现:

在此处输入图片说明

最后一个复选框,确保secure已选中。

或者,您可以使用代码来做到这一点:

标识文本对象是否应隐藏正在输入的文本。

宣言

optional var secureTextEntry: Bool { get set }

讨论区

此属性false默认设置为。设置此属性以true创建密码样式的文本对象,该对象将隐藏正在输入的文本。

例:

texfield.secureTextEntry = true

1
在New XCode8及更高版本中,我们必须在运行时属性列中添加secureTextEntry
Balagurubaran

55

在Swift 3.0或更高版本中

passwordTextField.isSecureTextEntry = true

13

在XCode 6.3.1中,如果使用NSTextField,则不会看到复选框secure

代替NSTextField使用NSSecureTextField

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSecureTextField_Class/index.html

我猜这是Swift / Objective-C的更改,因为现在有一个用于安全文本字段的类。在上面的链接中说,Available in OS X v10.0 and later. 如果您了解更多有关何时/为什么/什么版本的Swift / Objective-C,XCode或OS X的信息,


对于MacOS开发,这是新的正确答案
Joseph DeCarlo

12

Swift 4和Xcode版本9+

可以通过Interface Builder通过“安全文本输入”进行设置

通过情节提要截图检查了安全文本输入


嗨,有时安全文本字段会用黄色的“强密码”错误突出显示黄色,有什么解决方法吗?
Saravanan

1

对于SwiftUI,请尝试

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.