我如何可以自定义borderWidth的所有UITextField外观?
我正在尝试为borderWith定制所有UITextField外观。
尝试这样的事情。 只有前两行有所作为。 其余的线路不工作?
[[UITextField appearance] setBackgroundColor:[UIColor greenColor]]; [[UITextField appearance] setTextColor:[UIColor blackColor]]; [UITextField appearance].layer.cornerRadius = 6.0f; [UITextField appearance].layer.borderColor = [UIColor redColor].CGColor; [UITextField appearance].layer.borderWidth = 3.f;
不幸的是,外观代理不能在图层上工作,做你想做的事情,你应该inheritanceUITextField,并在layoutSubviews方法中(或在init中)
您可以将其应用于从UITextField
扩展的类或您喜欢风格的任何UIControl
。
1.创build了UITextField
的extension
并添加了以下代码:
- (void)awakeFromNib{ self.layer.borderColor = [UIColor blueColor].CGColor; self.layer.borderWidth = 1.0f; }
2.1在Code内创buildUITextField
现在,如果您在代码中创buildUITextField
,请#import
UITextField
的扩展名并创buildUITextField
。
2.2在Interface Builder
创buildUITextField
如果在Interface Builder
创buildUIButton
,请selectUITextField
,转到Identity Inspector
并将创build的extension
添加为UITextField
class
。