仿微信--提现密码设置页 swift

仿微信--提现密码设置页 swift,第1张

概述几个关键点: 1.为什么用UITextField.leftView? 避免了长按会出现放大镜(虽然可以重写UITextField的方法,禁止复制、粘贴、选择的功能,但是不能避免移动光标的位置。)如果光标的位置移动,则输入的位置可能会发生变化,添加删除的黑点就会错乱。 2.为什么进入页面直接显示键盘? 在 viewWillAppear 的时候`self.textField.becomeFirstRe

几个关键点: 1.为什么用UITextFIEld.leftVIEw? 避免了长按会出现放大镜(虽然可以重写UITextFIEld的方法,禁止复制、粘贴、选择的功能,但是不能避免移动光标的位置。)如果光标的位置移动,则输入的位置可能会发生变化,添加删除的黑点就会错乱。 2.为什么进入页面直接显示键盘? 在 vIEwWillAppear 的时候`self.textFIEld.becomeFirstResponder(),因为点击leftVIEw上是不会d出键盘的。 3.如何添加和删除黑点? 这里需要定义一个全局的数组,添加和删除UIVIEw。 代码如下:
func showVIEwOne() {                vIEwOne = UIVIEw.init(frame: CGRect.init(x: 0,y: 0,wIDth: SCREEN_WIDTH,height: SCREEN_HEIGHT))        vIEwOne.backgroundcolor = bgcolor        self.vIEw.addSubvIEw(vIEwOne)                        let tipLabel = UILabel.init(frame: CGRect.init(x: 20,y: SCREEN_HEIGHT/3-50,wIDth: SCREEN_WIDTH-40,height: 40))        tipLabel.text = "设置提现密码"        tipLabel.textcolor = UIcolor.black        tipLabel.textAlignment = NSTextAlignment.center        tipLabel.Font = UIFont.init(name: Font,size: 16)        vIEwOne.addSubvIEw(tipLabel)                passworldTF = UITextFIEld.init(frame: CGRect.init(x: 20,y: tipLabel.bottom()+10,height: 40))        if (SCREEN_WIDTH > 320) {            passworldTF.frame = CGRect.init(x: 30,wIDth: SCREEN_WIDTH-60,height: 50)        }        passworldTF.backgroundcolor = UIcolor.white        passworldTF.layer.borderWIDth = 1        passworldTF.layer.bordercolor = linecolor.cgcolor        passworldTF.keyboardType = UIKeyboardType.numberPad        passworldTF.tintcolor = UIcolor.clear        passworldTF.textcolor = UIcolor.clear        passworldTF.delegate = self        passworldTF.leftVIEw = UIVIEw.init(frame: CGRect.init(x: 0,wIDth: passworldTF.wIDth(),height: passworldTF.height()))        passworldTF.leftviewmode = UITextFIEldviewmode.always        vIEwOne.addSubvIEw(passworldTF)                let linespaceWIDth = passworldTF.wIDth() / 6                //5条竖线        var i = 1        for _ in 1...5 {            let xline = CGfloat(i)*linespaceWIDth            let lineVIEw = UIVIEw.init(frame: CGRect.init(x: xline,wIDth: 0.5,height: passworldTF.height()))            lineVIEw.backgroundcolor = linecolor            passworldTF.addSubvIEw(lineVIEw)            i = i + 1        }            }            func textFIEld(_ textFIEld: UITextFIEld,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {                if (textFIEld == self.passworldTF) {            if (range.location >= 6) {                return false            } else {                                if (range.length == 0) { //文本输入状态                    let pointX = ((passworldTF.wIDth()-62.5) / 12) * CGfloat(range.location * 2 + 1) + CGfloat(range.location) * 10.5                    let pointY = (passworldTF.height()-10) / 2                    //显示黑点                    let blackPoint = UIVIEw.init(frame: CGRect.init(x: pointX,y: pointY,wIDth: 10.0,height: 10.0))                    blackPoint.layer.cornerRadius = 5                    blackPoint.backgroundcolor = UIcolor.black                    passworldTF.addSubvIEw(blackPoint)                    pointVIEwArr.append(blackPoint)                } else {  //文本删除状态                    //移除黑点                    pointVIEwArr[range.location].removeFromSupervIEw()                    pointVIEwArr.remove(at: range.location)                }                                if string == "" {                    let word = self.password.substring(with: NSMakeRange(0,range.location))                    self.password = word as Nsstring                } else {                    self.password = self.password.appending(string) as Nsstring                }                                print(self.password)                return true            }        }        return true    }
总结

以上是内存溢出为你收集整理的仿微信--提现密码设置页 swift全部内容,希望文章能够帮你解决仿微信--提现密码设置页 swift所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存