iOS学习四之UITextField

Posted minminjy123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS学习四之UITextField相关的知识,希望对你有一定的参考价值。

UITextField是ios系统中进行文本输入操作的一种UI控件。

在ViewController的viewDidLoad中添加下面的方法即可

override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.     

        //设置输入框的大小

        let textField = UITextField(frame:CGRect(x:20,y:100,width:280,height:30))

       //设置输入框的style,none 无边框/line 线性风格/bezel bezel风格/roundedRect 边框风格

        textField.borderStyle = .roundedRect

       //提醒用户输入文字,用户输入时会不可见

        textField.placeholder = "Please input some words"

        //设置文字颜色

        textField.textColor = UIColor.cyan

        //设置文字大小

        textField.font = UIFont.systemFont(ofSize: 14)

        //设置文字对齐 left 居左/center 居中/right 居右

        textField.textAlignment = .left

       //设置输入框的图片

        let imageView = UIImageView(image:UIImage(named:"2"))

       //设置图片显示在文本框左侧,rightview也可以设置,实际操作中未设置成功 todo

        textField.leftView = imageView

       //图片显示的模式 never 从不/whileEditing 编辑时显示/unlessEditing 非编辑时显示/always 总是

        textField.leftViewMode = .unlessEditing

        //设置代理为自己,如果需要处理文本框中的文字的输入,需要设置代理

        textField.delegate = self

        self.view.addSubview(textField)

    }

   //代理方法,输入框中的内容将要改变时系统自动调用的回调方法

    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string:String) -> Bool {

        if (string.count > 0) {

           //判断输入的是否时数字

            let charas:[Character] = ["0","1","2","3","4","5","6","7","8","9"]

            let char = string.first!

            if !charas.contains(char) {

                print("Please input number")

                return false

            }

            //判断输入是否超过11位

            if textField.text!.count+string.count > 11 {

                print("More than 11 digits")

            }

        }

        return true

    }

还有一些其他的代理方法,在不同的状况下,可以在不同的方法中加入处理

//输入框将要进入编辑模式时系统自动回调的方法

optional public func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool

//输入框已经进入编辑模式时系统自动回调的方法

optional public func textFieldDidBeginEditing(_ textField: UITextField)

//输入框将要结束编辑模式时系统自动回调的方法

optional public func textFieldShoundEndEditing(_ textField: UITextField) -> Bool

//输入框已经结束编辑模式时系统自动回调的方法

optional public func textFieldDidEndEditing(_ textField: UITextField)

//输入框中的内容将要改变时系统自动回调的方法

optional public func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool

//输入框中的内容将要被清除时系统自动回调的方法

optional public func textFieldShouldReturn(_textField: UITextField) -> Bool

//用户按键盘上的return键后系统自动回调的方法

 

以上是关于iOS学习四之UITextField的主要内容,如果未能解决你的问题,请参考以下文章

机器学习(ML)十四之凸优化

Android学习笔记四之Activity

机器学习(ML)四之文本预处理

Identity Server4学习系列四之用户名密码获得访问令牌

鸿蒙HarMonyOS的UI组件学习四之自定义选项卡

Python爬虫实战四之抓取淘宝MM照片