在我的项目中,我在上面添加" 6"在我的故事板上的文本字段,它们是"电子邮件","名称","名字" ...等文本字段
现在我想使用" For"为所有这些文本字段设置背景颜色。环
是否可以使用for循环设置?
答案 0 :(得分:2)
你可以纯粹用这样的代码来做:
NSArray *textFields = @[self.emailTextField, self.nameTextField, self.firstNameTextField ... etc];
for (UITextField *textField in textFields) {
textField.backgroundColor = [UIColor redColor];
}
或者,您可以在故事板中创建IBOutletCollection
,并将所有文本字段连接到视图控制器上的单个属性:
@interface MyViewController : UIViewController
@property (nonatomic, strong) IBOutletCollection(UITextField) NSArray *textFields;
@end
然后以与我的第一个例子类似的方式迭代self.textFields
。
答案 1 :(得分:0)
您可以在故事板中设置背景颜色。当你在故事板中创建那些是很好的做法。但是如果你以编程方式创建那些文本字段,那么通过for循环以编程方式设置BG颜色将是一种好习惯。
答案 2 :(得分:0)
如果所有文本字段都在同一个视图控制器中,只需在视图控制器的实现中添加:
for (UITextField *textField in self.view.subviews) {
if ([textField isKindOfClass:[UITextField class]]) {
textField.backgroundColor = [UIColor exampleColor];
}
}
如果它们不在同一个视图控制器中,则将所有视图控制器添加到一个数组中并从那里执行:
NSArray *array = @[emailField, nameField, etc...]
for (UITextField *textField in array)
textField.backgroundColor = [UIColor exampleColor];
}