循环中的 IBOutlets
IBOutlets in a loop
我正在尝试为 iOS 应用程序的 Swift 表单创建一个验证系统。我创建了一个扩展以在 UITextField
对象中插入 IsRequired
属性。
我想遍历我视图中的所有 IBOutlet,看看哪个满足示例中的条件:
txtEmail.isRequired = true;
txtPassword.isRequired = true;
txtName.isRequired = true;
txtSurname.isRequired = true;
for Item in self.view.subviews {
if let textField = Item as? UITextField {
if textField.isRequired! {
if(textField.text == "")
{
textField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 ).cgColor;
}
}
}
}
但它不起作用。我的 UITextfields
在堆栈视图中。
谢谢
尝试使用 Outlet Collection
而不是 Outlet
。通过这种方式,您将拥有 CustomTextField
的数组
示例:
@IBOutlet var textFields: [CustomTextField]!
for field in self.textFields {
}
我正在尝试为 iOS 应用程序的 Swift 表单创建一个验证系统。我创建了一个扩展以在 UITextField
对象中插入 IsRequired
属性。
我想遍历我视图中的所有 IBOutlet,看看哪个满足示例中的条件:
txtEmail.isRequired = true;
txtPassword.isRequired = true;
txtName.isRequired = true;
txtSurname.isRequired = true;
for Item in self.view.subviews {
if let textField = Item as? UITextField {
if textField.isRequired! {
if(textField.text == "")
{
textField.layer.borderColor = UIColor( red: 0.5, green: 0.5, blue:0, alpha: 1.0 ).cgColor;
}
}
}
}
但它不起作用。我的 UITextfields
在堆栈视图中。
谢谢
尝试使用 Outlet Collection
而不是 Outlet
。通过这种方式,您将拥有 CustomTextField
示例:
@IBOutlet var textFields: [CustomTextField]!
for field in self.textFields {
}