例如,如果我有多个这样的IBOutlet:

@IBOutlet weak var x1: UITextField!
@IBOutlet weak var x2: UITextField!
@IBOutlet weak var x3: UITextField!
@IBOutlet weak var x4: UITextField!
@IBOutlet weak var x5: UITextField!
@IBOutlet weak var x6: UITextField!
@IBOutlet weak var x7: UITextField!
@IBOutlet weak var x8: UITextField!
@IBOutlet weak var x9: UITextField!
@IBOutlet weak var x10: UITextField!
@IBOutlet weak var x11: UITextField!
@IBOutlet weak var x12: UITextField!

例如,如何更改所有IBOutlet的边框:
self.x1.layer.borderWidth = 0.5
self.x1.layer.borderColor = UIColor.lightGrayColor().CGColor
self.x1.layer.cornerRadius = 5;

没有编写很多代码?

最佳答案

您可以在Swift中定义IBOutlet的集合,如下所示:

@IBOutlet var collectionOfTextFields: Array<UITextField>?

使用IB将所有所需字段添加到collectionOfTextFields中。现在,您可以使用一个简单的循环来设置所有文本字段的属性,而无需编写大量代码。

通过设置IB中x1x12属性,您应该能够走得更远,并从代码中消除所有tag .. UITextField变量,并且它们在处理代码中使用这些标记来区分界面中的十二个字段。

关于ios - 如何更改多个IBOutlet的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33875611/

10-13 02:32