我的故事板上的标签通过IBOutlet连接到View Controller
我对UILabel进行了如下扩展
extension UILabel {
func winnerLabel() -> UILabel {
let winnerLabel = UILabel()
winnerLabel.textColor = UIColor.red
winnerLabel.textAlignment = .left
return winnerLabel
}
}
在我的视图控制器中,我希望将情节提要中的标签设置为与WinnerLabel具有相同的外观。
设置标签的样式属性的最佳方法是什么(我对WinnerLabel有出口)?
我可以单独进行设置,即textColor = winnerLabel.text颜色,但认为必须有更好的方法。
答案 0 :(得分:2)
不使用功能。使用一个UILabel子类,该子类使用所需的功能进行初始化,并使情节提要中的标签成为该子类的实例。
答案 1 :(得分:1)
您可以在IB中分配此类
class CustomLabel: UILabel {
override init(frame: CGRect) {
super.init(frame: frame)
shared()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
shared()
}
func shared() {
// all the layout code from above
self.textColor = .red
self.textAlignment = .left
}
}
//
//
以编程方式
let lbl = CustomLabel(frame:CGRect(x:0,y:20,width:200,height:200))