在 textField 中使用“••••••”隐藏密码

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

183761 次浏览

您可以在 Xcode 中直接实现这一点:

enter image description here

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

或者你可以使用代码:

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

声明

optional var secureTextEntry: Bool { get set }

讨论

默认情况下,此属性设置为 false。将此属性设置为 true将创建一个密码样式的文本对象,该对象将隐藏所输入的文本。

例如:

texfield.secureTextEntry = true

在 Xcode 6.3.1中,如果使用 NSTextField,您将看不到 secure的复选框。

使用 NSSecureTextField代替使用 NSTextField

Https://developer.apple.com/documentation/appkit/nssecuretextfield

我猜这是一个 Swift/Objective-C 更改,因为现在有了一个用于安全文本字段的类。如果你知道更多关于什么时候/为什么/什么版本的 Swift/Objective-C、 Xcode 或 OS x 的信息,请点击上面的链接

在 Swift 3.0或更新版本中

passwordTextField.isSecureTextEntry = true

Swift 4和 Xcode Version 9 +

可透过 Interface Builder 「安全文字输入」设定

Secure Text Entry checked via storyboard screenshot

以程序方式(Swift 4 & 5)

self.passwordTextField.isSecureTextEntry = true

对于 SwiftUI,请尝试

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

可以通过使用 Attribute 检查器中 textfield 的属性来实现这一点

从故事板点击你的文本字段,进入属性检查器,选中“安全文本输入”为了实现同样的效果,增加了图形化的概述复选框