UITextField的封装

近日在公司项目中多处用到了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
有兴趣的小伙伴点个赞~多多交流

你可能感兴趣的:(UITextField的封装)