Ios Swift、Xcode 6.4中可重用的UILabel样式

Ios Swift、Xcode 6.4中可重用的UILabel样式,ios,swift,xcode6,uilabel,xcode6.4,Ios,Swift,Xcode6,Uilabel,Xcode6.4,有没有比创建覆盖UILabel的自定义类更简单的样式化UILabel的方法。目前我需要一系列不同字体大小和文本颜色的样式。我不知道这是一种好的做法。。。但你可以这样做: extension UILabel { @IBInspectable var myStyle: String { set { switch newValue { case "style1": self.font = UIFo

有没有比创建覆盖UILabel的自定义类更简单的样式化UILabel的方法。目前我需要一系列不同字体大小和文本颜色的样式。

我不知道这是一种好的做法。。。但你可以这样做:

extension UILabel {
    @IBInspectable var myStyle: String {
        set {
            switch newValue  {
            case "style1":
                self.font = UIFont.systemFontOfSize(17)
                self.textColor = UIColor.blackColor()

            case "style2":
                self.font = UIFont.boldSystemFontOfSize(32)
                self.textColor = UIColor.redColor()

            default:
                break
            }
        }
        get {
            return ""
        }
    }
}
也许,您应该用@IBDesignable定义一个子类。因为这在IB中显示了更好的预览。并且,您可以在IB中使用编辑器>大小以适应或自动布局功能

@IBDesignable class StyledLabel: UILabel {
    @IBInspectable var myStyle: String = "" {
        didSet {
            switch self.myStyle {
            case "style1":
                self.font = UIFont.systemFontOfSize(17)
                self.textColor = UIColor.blackColor()
            case "style2":
                self.font = UIFont.boldSystemFontOfSize(32)
                self.textColor = UIColor.redColor()
            default:
                break
            }
        }
    }
}

在标准UILabel上设置字体和文本颜色属性有什么问题?你是说使用interface builder在每个UILabel上分别设置字体和文本颜色属性吗?好吧,你的问题没有提到IB。这些属性显然需要在代码中应用。或者,您也可以尝试UIAppearance协议。然而,它在Swift方面是有限的。这正是我想要的!现在我只需要知道这是否是一个好的实践,这个问题的全部要点是避免使用自定义类,因为我想避免为我所有的UILabel设置自定义类:。。预览没有编写更少的代码那么重要,所以现在我将坚持在editSecond选项之前编写的内容,制作一个我测试过的类,它非常棒。现在,我可以根据需要更改自定义UI的类名和样式。真的很有帮助。