在文本字段中使用“•••••••”隐藏密码
Posted
技术标签:
【中文标题】在文本字段中使用“•••••••”隐藏密码【英文标题】:Hide password with "•••••••" in a textField 【发布时间】:2014-11-21 17:53:34 【问题描述】:在我的应用程序中有一个文本字段,用户必须在其中输入密码,我希望当他输入一个字符时将其更改为“•”我该怎么做?
【问题讨论】:
【参考方案1】:对于 SwiftUI,请尝试
TextField ("Email", text: $email)
.textFieldStyle(RoundedBorderTextFieldStyle()).padding()
SecureField ("Password", text: $password)
.textFieldStyle(RoundedBorderTextFieldStyle()).padding()
【讨论】:
【参考方案2】:以编程方式(Swift 4 和 5)
self.passwordTextField.isSecureTextEntry = true
【讨论】:
对于 swift 3 及更高版本的语法已更改,请参阅上面的答案。 我的答案是 Swift 4 你确定这是 Swift 4 吗? textField 没有名为 secure 的属性或方法...对于 swift 4,我们使用 self.passwordTextField.isSecureTextEntry = true【参考方案3】:您可以通过使用属性检查器中文本字段的属性来做到这一点
从情节提要中点击您的文本字段并转到属性检查器,然后选中“安全文本输入”复选框SS is added for graphical overview to achieve same
【讨论】:
【参考方案4】:Swift 4 和 Xcode 版本 9+
可以通过 Interface Builder 的“安全文本输入”进行设置
【讨论】:
嗨,有时安全文本字段会以黄色突出显示“强密码”错误,有什么解决办法吗? @Saravanan 如果您不自动生成密码,请将内容类型 Password 更改为 defualt 或其他选项【参考方案5】:在 Swift 3.0 或更高版本中
passwordTextField.isSecureTextEntry = true
【讨论】:
【参考方案6】:你可以直接在 Xcode 中实现:
最后一个复选框,确保选中secure
。
或者你可以使用代码来实现:
标识文本对象是否应该隐藏正在输入的文本。
声明
optional var secureTextEntry: Bool get set
讨论
此属性默认设置为false
。将此属性设置为 true
会创建一个密码样式的文本对象,它会隐藏正在输入的文本。
示例:
texfield.secureTextEntry = true
【讨论】:
在New XCode8及以上版本我们必须在runtime属性列中添加secureTextEntry【参考方案7】:在 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开发,这是新的正确答案以上是关于在文本字段中使用“•••••••”隐藏密码的主要内容,如果未能解决你的问题,请参考以下文章
在 GET 中隐藏密码字段,但在 Django REST Framework 中隐藏密码字段,其中序列化程序中的 depth=1