iOS:如何将相同的样式应用到另一个UITextField?

iOS:如何将相同的样式应用到另一个UITextField?,ios,uitextfield,Ios,Uitextfield,有谁能帮我一下吗?有没有可能从UITextField1到UITextField2应用相同的样式(边框颜色、边框宽度、角半径) 具体地说,, 我已将上述样式应用于“密码”字段。我希望应用相同的样式来确认密码、电子邮件、国家/地区等字段 [[self.passwordField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]]; [[self.passwordField layer] setBorderWidth:0.9]; [[sel

有谁能帮我一下吗?有没有可能从UITextField1到UITextField2应用相同的样式(边框颜色、边框宽度、角半径)

具体地说,, 我已将上述样式应用于“密码”字段。我希望应用相同的样式来确认密码、电子邮件、国家/地区等字段

[[self.passwordField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
[[self.passwordField layer] setBorderWidth:0.9];
[[self.passwordField layer] setCornerRadius:5];
请指导我,如果有任何简单的方法来做到这一点,通过避免代码重复代码行?
提前谢谢

创建一个视图集合,然后迭代该集合,根据需要设置图层属性。例如:

NSArray *myTextFields = @[self.passwordField, self.emailField, self.countryField];
for (UIView *view in myTextFields){
    [[view layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[view layer] setBorderWidth:0.9];
    [[view layer] setCornerRadius:5];
}

创建一个视图集合,然后迭代该集合,根据需要设置图层特性。例如:

NSArray *myTextFields = @[self.passwordField, self.emailField, self.countryField];
for (UIView *view in myTextFields){
    [[view layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[view layer] setBorderWidth:0.9];
    [[view layer] setCornerRadius:5];
}

您可以在
UITextField
上创建类别:

- (void) isPasswordField
{
    [[self layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[self layer] setBorderWidth:0.9];
    [[self layer] setCornerRadius:5];
}
这样称呼它:

[self.passwordField isPasswordField];

您可以在
UITextField
上创建类别:

- (void) isPasswordField
{
    [[self layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[self layer] setBorderWidth:0.9];
    [[self layer] setCornerRadius:5];
}
这样称呼它:

[self.passwordField isPasswordField];

试试这个。查看添加了所有
UITextField
的视图。确保这将影响视图中的所有文本字段。您不需要传递任何文本字段

for (UITextField *txtFld in self.view.subviews)// set your textfield superview
{
    if ([txtFld isKindOfClass:[UITextField class]])
    {
        [[txtFld layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
        [[txtFld layer] setBorderWidth:0.9];
        [[txtFld layer] setCornerRadius:5];
    }
}

也许这会对你有所帮助。

试试这个。查看添加了所有
UITextField
的视图。确保这将影响视图中的所有文本字段。您不需要传递任何文本字段

for (UITextField *txtFld in self.view.subviews)// set your textfield superview
{
    if ([txtFld isKindOfClass:[UITextField class]])
    {
        [[txtFld layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
        [[txtFld layer] setBorderWidth:0.9];
        [[txtFld layer] setCornerRadius:5];
    }
}
也许这会对你有所帮助。

试试这个:

-(void)setTextFieldProperty:(UITextField *)myTextField{
    [[myTextField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[myTextField layer] setBorderWidth:0.9];
    [[myTextField layer] setCornerRadius:5];
}
只需通过以下方式调用此方法:

[self setTextFieldProperty:mytestField]
剩下的就交给它了。希望这有帮助:)

试试这个:

-(void)setTextFieldProperty:(UITextField *)myTextField{
    [[myTextField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
    [[myTextField layer] setBorderWidth:0.9];
    [[myTextField layer] setCornerRadius:5];
}
只需通过以下方式调用此方法:

[self setTextFieldProperty:mytestField]

剩下的就交给它了。希望这有帮助:)

为这些代码创建一个方法,并在需要使用代码时将textfield name传递给该方法。感谢大家的快速回复。我喜欢这个社区:)为这些代码创建一个方法,并在需要使用代码时将textfield名称传递给该方法。感谢大家的快速回复。我爱这个社区:)