我如何为borderWidth自定义所有UITextField外观?

Add*_*bbA 4 appearance objective-c calayer uitextfield ios

我正在尝试为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;
Run Code Online (Sandbox Code Playgroud)

Ale*_*Cio 5

您可以将此应用于扩展的类UITextField或任何UIControl您喜欢的样式.

1.一种创建extensionUITextField,并添加以下代码:

- (void)awakeFromNib{

    self.layer.borderColor = [UIColor blueColor].CGColor;
    self.layer.borderWidth = 1.0f;
}
Run Code Online (Sandbox Code Playgroud)

2.1创建UITextField内部代码

现在,如果您UITextField在代码内部创建了一个内部#import扩展,UITextField并创建了UITextField.

2.2在中创建UITextField Interface Builder

如果你创建了UIButton内部的Interface Builder,选择UITextField,进入Identity Inspector并添加创建extension作为classUITextField.