Ios 如何在UITextField中隐藏密码,如*****&引用;?
如何在Ios 如何在UITextField中隐藏密码,如*****&引用;?,ios,uitextfield,swift4,Ios,Uitextfield,Swift4,如何在UITextField中隐藏密码,如“****” 为了隐藏密码,我使用了以下代码 txtPassword.isSecureTextEntry = true 但这将显示为“••••••”,但我需要像“*******”获取所需行为的最简单方法是使用某种自定义密码字段,允许此自定义 我不建议这样做。要实现同样的效果,您可以使用普通文本字段,而不使用安全输入选项。当用户输入字符时,将其保存到字符串变量中,并在文本字段中将其替换为希望显示的字符,而不是项目符号 将viewDidLoad()中的t
UITextField
中隐藏密码,如“****”
为了隐藏密码,我使用了以下代码
txtPassword.isSecureTextEntry = true
但这将显示为“••••••”,但我需要像“*******”获取所需行为的最简单方法是使用某种自定义密码字段,允许此自定义
我不建议这样做。要实现同样的效果,您可以使用普通文本字段,而不使用安全输入选项。当用户输入字符时,将其保存到字符串变量中,并在文本字段中将其替换为希望显示的字符,而不是项目符号 将viewDidLoad()中的textField委托设置为: 然后简单地使用shouldChangeCharactersRange(),如下所示: 这是密码(密码显示为***):
textField中的输出将是***您可以像这样使用自定义UITextField类:
将objective-c转换为swift:正确为清晰起见,基本上有三种选择:
现在需要注意的是,安全输入UITextField不仅仅显示“点”字符。如果您在输入字符时观察它的工作方式,它会显示一小段时间,然后被“点”替换,这样用户就有时间查看他们输入的正确字符。如果您快速键入,则在添加下一个字符后,所有字符将立即替换为“点”。如果您使用自己的版本替换“点”字符,则必须复制该功能或将其丢失。在iOS中,用户习惯于看到点而不是星星。这是正常的行为。但我需要显示Star,它不是为此而构建的,你必须自己做。你必须意识到,安全文本输入不仅仅是有一个字符来隐藏文本。当您键入时,原始字符会显示一小段时间,然后隐藏,除非您在键入时将其隐藏时快速键入。现在,如果您使用自己的解决方案,您要么会失去它,要么必须自己复制它。你真的需要问问自己,有一个看起来与标准不同的输入字段是值得的。
textField.delegate = self
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
{
password = password+string
textField.text = textField.text!+"*"
return false
}