在textField中隐藏密码"•••••••"

Clé*_*lon 122 passwords swift

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

med*_*eda 284

您可以直接在Xcode中实现此目的:

在此输入图像描述

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

或者您可以使用代码执行此操作:

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

宣言

optional var secureTextEntry: Bool { get set }
Run Code Online (Sandbox Code Playgroud)

讨论

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

例:

texfield.secureTextEntry = true
Run Code Online (Sandbox Code Playgroud)


kis*_*ara 48

在Swift 3.0或更高版本中

passwordTextField.isSecureTextEntry = true
Run Code Online (Sandbox Code Playgroud)


Hat*_*tim 11

Swift 4和Xcode版本9+

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

通过故事板截图检查安全文本输入


use*_*622 10

在XCode 6.3.1中,如果使用a 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这个


phi*_*hil 6

对于 SwiftUI,请尝试

TextField ("Email", text: $email)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
    .textFieldStyle(RoundedBorderTextFieldStyle()).padding()
Run Code Online (Sandbox Code Playgroud)