IOS swift实现密码的显示与隐藏切换
2017-09-22 10:33
676 查看
最近做项目遇到一个需要做密码的显示与隐藏功能,简单从功能上讲是比较简单的,但是,ios有个恶心的BUG,就是在切换显示密码后再隐藏密码时输入就被清空了,这个非常不友好,为了解决这个问题,我在网上找了相关文章,得到了一些启发,解决了这个问题,在这里分享出来供给大家参考与学习!
代码如下:
importUIKit
class MyTextField:UITextField,UITextFieldDelegate{
private var maxLength=11
overrideinit(frame:CGRect) {
super.init(frame: frame)
self.delegate=self
}
requiredinit?(coder aDecoder:NSCoder) {
super.init(coder: aDecoder)
self.delegate=self
}
//监听输入值的变化
functextField(_textField:UITextField, shouldChangeCharactersIn range:NSRange, replacementString string:String) ->Bool{
letnewText = NSString(string:textField.text!).replacingCharacters(in: range, with: string)
//控制输入长度
if(newText.characters.count)>maxLength{
letidx =self.text?.index((text?.startIndex)!, offsetBy: maxLength)
self.text=self.text?.substring(to: idx!)
return false
}
//处理明文密文切换时输入不被清空(关键代码)
if textField==self&&self.isSecureTextEntry{
self.text=newText
return false
}
return true
}
//设置可输入的最大长度
func setMaxLength(maxLength:Int){
self.maxLength=maxLength
}
}
代码就贴在这里了,如果有什么问题欢迎交流!
代码如下:
importUIKit
class MyTextField:UITextField,UITextFieldDelegate{
private var maxLength=11
overrideinit(frame:CGRect) {
super.init(frame: frame)
self.delegate=self
}
requiredinit?(coder aDecoder:NSCoder) {
super.init(coder: aDecoder)
self.delegate=self
}
//监听输入值的变化
functextField(_textField:UITextField, shouldChangeCharactersIn range:NSRange, replacementString string:String) ->Bool{
letnewText = NSString(string:textField.text!).replacingCharacters(in: range, with: string)
//控制输入长度
if(newText.characters.count)>maxLength{
letidx =self.text?.index((text?.startIndex)!, offsetBy: maxLength)
self.text=self.text?.substring(to: idx!)
return false
}
//处理明文密文切换时输入不被清空(关键代码)
if textField==self&&self.isSecureTextEntry{
self.text=newText
return false
}
return true
}
//设置可输入的最大长度
func setMaxLength(maxLength:Int){
self.maxLength=maxLength
}
}
代码就贴在这里了,如果有什么问题欢迎交流!
相关文章推荐
- ionic的切换效果实现——以登录页密码显示隐藏切换为例
- 输入框密码切换显示或隐藏功能的实现
- jq改变input的type属性实现密码显示隐藏的切换
- vue实现密码显示隐藏切换功能
- jQuery通过改变input的type属性实现密码显示隐藏切换功能
- iOS swift 实现图文混排 emoji小表情和文字都显示在一个textview中
- iOS实现scrollview上拉显示Navbar下拉隐藏功能详解
- iOS---实现简书和知乎的上滑隐藏导航栏下拉显示导航栏效果
- Android输入框切换密码显示与隐藏
- [iOS]如何在iOS开发中切换显示语言实现国际化
- 李洪强iOS开发之-实现点击单行View显示和隐藏Cell
- iOS开发Xcode中切换显示语言实现国际化
- android 实现密码的显示和隐藏
- Android中实现EditText密码显示隐藏的方法
- 利用UGUI实现 显示/隐藏密码 功能
- JS组件系列——显示隐藏密码切换的jQuery插件
- iOS 完美解决导航栏在页面切换时隐藏与显示的动画
- JS实现登录页密码的显示和隐藏
- Android中实现密码的隐藏和显示的示例
- Android实现密码隐藏显示