近日在公司項目中多處用到了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
有興趣的小伙伴點個贊~多多交流