近日在公司项目中多处用到了UITextField,由于公司UI奇葩,各种属性要修改,找了半天才将各种属性X了一遍,感觉这种设置过于复杂,代码看着也很不美观,就想着封装一下。
封装很简单,唯一亮点就是把UITextField的候选文字的大小和颜色加到其中,设置也更为简单:
[self.textField setValue:textFieldPlaceholderColor forKeyPath:@"_placeholderLabel.textColor"];
[self.textField setValue:[UIFont systemFontOfSize:textFieldPlacegolderFontSize]forKeyPath:@"_placeholderLabel.font"];
以及当时用tableView加载UITextFiled的时候,出现输入文字的时候会向上偏移,输完之后才恢复正常,用 self.textField.textAlignment = NSTextAlignmentCenter
没有效果,后来才发现需要更改self.textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter
才行。
UItextField的leftView设置也是颇为麻烦,好在已经封装起来,不用以后再用的时候忘掉又去搜索....
封装中还把UITextField的输入文字监听事件传递了出来,直接调用Block就能获取到当前的输入值:
#pragma mark
#pragma mark block cycle
__weak UIViewController*weakSelf = self;
_textField.clickTextFieldBlock = ^(NSString *text) {
NSLog(@"%@",text);
};```
demo地址:https://github.com/YMS1230/YYTextField
有兴趣的小伙伴点个赞~多多交流