美文网首页
swift UITextField

swift UITextField

作者: 哎呦我去叫什么呢 | 来源:发表于2020-07-17 14:26 被阅读0次
//        初始化
        nameTextFiled = UITextField()
        view.addSubview(nameTextFiled)
        nameTextFiled.mas_makeConstraints { (make) in
            make?.top.equalTo()(view.mas_top)?.offset()(RESIZE(size: 100))
            make?.centerX.mas_equalTo()(view.mas_centerX)
            make?.width.mas_equalTo()(270)
            make?.height.mas_equalTo()(45)
        }
//        设置圆角
        nameTextFiled.layer.cornerRadius = 23
        nameTextFiled.layer.masksToBounds = true
        nameTextFiled.layer.borderWidth = 0.5//        边框宽度
        nameTextFiled.layer.borderColor = UIColor.black.cgColor//边框颜色
        nameTextFiled.backgroundColor = .blue//背景颜色
        nameTextFiled.placeholder = "请输入"// 提示语
        nameTextFiled.text = "name"
        // 边框样式——圆角矩形边框
        nameTextFiled.borderStyle = UITextField.BorderStyle.roundedRect
        
//        nameTextFiled.borderStyle = UITextField.BorderStyle.none//无边框
//        nameTextFiled.borderStyle = UITextField.BorderStyle.line//直角矩形边界线
//        nameTextFiled.borderStyle = UITextField.BorderStyle.bezel//有阴影的边框
        // 完成按钮样式
        nameTextFiled.returnKeyType = UIReturnKeyType.done
        // 清除按钮显示状态
        nameTextFiled.clearButtonMode = UITextField.ViewMode.whileEditing
        /*
         never    从不出现
         whileEditing    开始编辑时出现
         unlessEditing    除了编辑外都出现
         always    一直出现
         */
        // 键盘样式
        nameTextFiled.keyboardType = UIKeyboardType.default
        
/*
         default    默认键盘:支持所有字符
         asciiCapable    支持ASCII的默认键盘
         numbersAndPunctuation    标准电话键盘,支持+*#等符号
         URL    URL键盘,有.com按钮;只支持URL字符
         numberPad    数字键盘
         phonePad    电话键盘
         namePhonePad    电话键盘,也支持输入人名字
         emailAddress    用于输入电子邮件地址的键盘
         asciiCapableNumberPad    支持ASCII的数字键盘
         decimalPad    带‘.’的数字键盘
         twitter    功能齐全键盘,类似asciiCapable
         webSearch    带有面向url的附加的默认键盘类型
         
         */
        
        
        // 键盘外观
        nameTextFiled.keyboardAppearance = UIKeyboardAppearance.alert
/*
         
         default    白色,兼容以前的版本
         dark    黑色
         light    白色
         alert    黑色,兼容以前的版本
         */
        // 安全文本输入,(输入密码)
        nameTextFiled.isSecureTextEntry = true
//        给TextFiled添加左右两侧的悬浮图
        nameTextFiled.leftViewMode = .always
        nameTextFiled.rightViewMode = .always
        
        let leftButton = UIButton(type: .infoDark)
        leftButton.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
        nameTextFiled.leftView = leftButton
leftButton.addTarget(self, action: #selector(leftButtonAction), for: .touchUpInside)
        
        let rightButton = UIButton(type: .contactAdd)
        rightButton.frame = CGRect(x: 0, y: 0, width: 30, height: 30)
        nameTextFiled.rightView = rightButton
rightButton.addTarget(self, action: #selector(rightButtonAction), for: .touchUpInside)

实现点击方法

    @objc func leftButtonAction(){
        print("leftButtonAction")
    }
    @objc func rightButtonAction(){
        print("rightButtonAction")
    }

设置代理

class LoginViewController: BaseViewController ,UITextFieldDelegate

 nameTextFiled.delegate = self

实现代理方法

 func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        print("将要开始编辑")
        return true
    }
    
    func textFieldDidBeginEditing(_ textField: UITextField) {
        print("已经开始编辑")
    }
    
    func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
        print("将要结束编辑")
        return true
    }
    
    func textFieldDidEndEditing(_ textField: UITextField) {
        print("已经结束编辑")
    }
    
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        print("文本输入内容发生变化(每次输入都会调用)")
        return true
    }
    
    func textFieldShouldClear(_ textField: UITextField) -> Bool {
        print("将要清除输入内容,返回值是是否要清除掉内容")
        return true
    }
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        print("将要按下Return按钮,返回值是是否结束输入(是否失去焦点)")
        return true
    }
        

相关文章

网友评论

      本文标题:swift UITextField

      本文链接:https://www.haomeiwen.com/subject/pheghktx.html