• IOS swift实现密码的显示与隐藏切换


          最近做项目遇到一个需要做密码的显示与隐藏功能,简单从功能上讲是比较简单的,但是,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

    }

    }

    代码就贴在这里了,如果有什么问题欢迎交流!

  • 相关阅读:
    Docker学习笔记
    Linux学习笔记
    C#
    30分钟掌握 C#7
    30分钟掌握 C#6
    Redmine部署到Windows Azure
    关于企业管理系统集成那些事
    变量内存分配知多少
    流行Java IDE工具大比拼[转]
    pgpool 流复制主从安装与配置(高可用、读写分离)[转]
  • 原文地址:https://www.cnblogs.com/zzjbk/p/7573601.html
Copyright © 2020-2023  润新知