iOS 之 UITextField

时间:2023-12-21 09:36:08

UITextField 相关细节处理:

1.  设置leftView , rightView

let leftView = UIView()

// 设置leftView/rightView之后,勿忘设置leftViewMode/rightViewMode
textField.leftView = leftView
textField.leftViewMode = .Always

2.  设置placeholder的颜色

let placeHolder = "placeHolder"
let attrDict = [NSForegroundColorAttributeName:UIColor.redColor()]
let placeHolderAttr = NSAttributedString(string: placeHolder, attributes: attrDict)
textField.attributedPlaceholder = placeHolderAttr
// 当然你也可以设置 textField.attributedText

3.  设置clearButton的颜色

  3.1 方案一:

    不用系统的clearButton,设置rightView,然后textField.rightViewModel=.WheelEditing. 但是这种方案 就是在textField中成为第一响应者就会出现clearButton,而不是在textField非空时出现

  3.2 方案二:

    自定义CustomTextfield,继承自UITextField,重写layoutSubviews,在layoutSubviews方法中找到clearButton,设置图片。但是这个方法也有个问题,如果leftView,或者TextField中有其他的button的子view,这个 方法并不是那么好

  3.3 方案三:

    不设置UITextField的属性,直接是button.然后他们有相同的superView。

///////////////////////