任何人都可以帮助我,是否可以将相同的样式(边框颜色,边框宽度,圆角半径)从UITextField1应用到UITextField2。
详细信息, 我已将上述样式应用于"密码"领域。我希望应用相同的样式来确认密码,电子邮件,国家/地区等字段。
[[self.passwordField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
[[self.passwordField layer] setBorderWidth:0.9];
[[self.passwordField layer] setCornerRadius:5];
如果有任何简单的方法可以通过避免代码重复代码行来指导我吗? 提前谢谢!
答案 0 :(得分:3)
试试这个:
-(void)setTextFieldProperty:(UITextField *)myTextField{
[[myTextField layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
[[myTextField layer] setBorderWidth:0.9];
[[myTextField layer] setCornerRadius:5];
}
只需通过以下方式调用此方法:
[self setTextFieldProperty:mytestField]
它将完成其余的工作。希望这有助于.. :))
答案 1 :(得分:2)
创建视图集合,然后遍历集合,根据需要设置图层属性。 E.g:
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];
}
答案 2 :(得分:1)
您可以在UITextField
上创建一个类别:
- (void) isPasswordField
{
[[self layer] setBorderColor:[[UIColor darkGrayColor] CGColor]];
[[self layer] setBorderWidth:0.9];
[[self layer] setCornerRadius:5];
}
并称之为:
[self.passwordField isPasswordField];
答案 3 :(得分:1)
试试这个。查看添加了所有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];
}
}
也许这会对你有帮助。