编辑#2
根据我得到的回复,我似乎让人们(以及随后的我自己)感到困惑。所以让我们试着把这个问题简化一些——
我希望在给定ViewController
的以下内容中提供所有 TextFields:
textField.layer.cornerRadius=8.0f;
textField.layer.masksToBounds=YES;
[[textField layer] setBorderColor:[[UIColor colorWithRed:171.0/255.0 green:171.0/255.0 blue:171.0/255.0 alpha:1.0] CGColor]];
textField.layer.borderWidth= 1.0f;
我应该在哪里实现它以及如何实现它不会给我层属性的错误(即,当我尝试在其中或之后执行此操作时-(void)viewDidLoad
,每行都出现错误,指出“在类型的对象上找不到属性'层' ViewController
“?
编辑#1 子类代码的完整部分,以帮助识别问题:
@interface InputTextField : UITextField
@end
@implementation InputTextField
- (CGRect)textRectForBounds:(CGRect)bounds {
int margin = 5;
CGRect inset = CGRectMake(bounds.origin.x + margin, bounds.origin.y, bounds.size.width - margin, bounds.size.height);
return inset;
}
- (CGRect)editingRectForBounds:(CGRect)bounds {
int margin = 5;
CGRect inset = CGRectMake(bounds.origin.x + margin, bounds.origin.y, bounds.size.width - margin, bounds.size.height);
return inset;
InputTextField *textField=[[InputTextField alloc]init];
textField.layer.cornerRadius=8.0f;
textField.layer.masksToBounds=YES;
[[textField layer] setBorderColor:[[UIColor colorWithRed:171.0/255.0 green:171.0/255.0 blue:171.0/255.0 alpha:1.0] CGColor]];
textField.layer.borderWidth= 1.0f;
}
@end
原帖
我在更改特定视图控制器中一系列文本字段的边框样式和颜色时遇到问题。我想要调整的视图中有一堆文本字段。他们都被赋予了自定义类“InputTextField”。然而,在这个线程中提出的解决方案:UITextField 边框颜色不能解决我的问题。
这是我想要实现的样式和颜色:
textField.layer.cornerRadius=8.0f;
textField.layer.masksToBounds=YES;
[[textField layer] setBorderColor:[[UIColor colorWithRed:171.0/255.0 green:171.0/255.0 blue:171.0/255.0 alpha:1.0] CGColor]];
textField.layer.borderWidth= 1.0f;
我也进口了QuartzCore/QuartzCore.h
。我想设置它,以便我的应用程序中具有自定义类的每个 TextFieldInputTextField
都将以这种背景显示。此时,每当我在应用程序中运行它时,所有字段都采用我在 Storyboards 中设置的背景值(当前为无边框)。
感谢您的帮助!