美文网首页
限制文本个数

限制文本个数

作者: 会飞的大马猴 | 来源:发表于2020-04-15 15:34 被阅读0次
    public class MyTextField: UITextField {
    
        let maxLength = 6
        //MARK:重写
        required init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            
            p_setUpTextField()
        }
        override init(frame: CGRect) {
            super.init(frame: frame)
            p_setUpTextField()
        }
        //MARK:私有方法
        private func p_setUpTextField(){
            addTarget(self, action: #selector(p_textFieldDidChange(textField:)), for: UIControl.Event.editingChanged)
        }
        
        @objc private func p_textFieldDidChange(textField : UITextField) {
            
            guard let selectedRange = markedTextRange  else {
                if text?.count ?? 0 > maxLength {
                    text = String((text ?? "").prefix(maxLength))
                }
                return
            }
            
            guard let _ = position(from: selectedRange.start, offset: 0)  else {
                if text?.count ?? 0 > maxLength {
                    text = String((text ?? "").prefix(maxLength))
                }
                return
            }
        }
    }
    
    

    相关文章

      网友评论

          本文标题:限制文本个数

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