我正在尝试找到将这些边框样式应用到视图控制器中所有文本字段的最有效方法。将此样式分别应用于所有文本字段似乎很疯狂。是否有一种简单的方法可以引用所有文本字段,还是应该创建某种样式类?
textField.layer.cornerRadius = 8.0
textField.layer.borderColor = (UIColor .grayColor()).CGColor;
textField.layer.borderWidth = 1.0
感谢您的帮助!
答案 0 :(得分:8)
正如Tron5000所说,你可以使用这样的扩展名:
extension UITextField {
func setPreferences() {
self.layer.cornerRadius = 8
self.layer.borderColor = UIColor.grayColor().CGColor
self.layer.borderWidth = 2
// etc.
}
}
然后你可以将所有文本字段收集到一个数组中并迭代它们:
var myTextFields = [UITextField]()
func setColorsAndBorders() {
myTextFields = [tf1, tf2, tf3, tf4] // etc
for item in myTextFields {
item.setPreferences()
}
}
答案 1 :(得分:2)
我认为您需要为UITextField创建子类或编写扩展名。见本页:
How may i customise all UITextField appearances for borderWidth?