我们如何在Swift

时间:2015-12-11 05:33:24

标签: ios iphone swift swift2 initwithcoder

我在Swift中创建了UILabel的子类我想根据它的标签类型自定义标签的某些属性,如字体,颜色大小等。

此标签在故事板文件中创建。为了识别labe的类型,我创建了一个自定义属性名称'labelType',这个labelType一旦被赋值,就永远不会改变它的值。所以我们应该创建这个属性'let',但问题是我们需要在调用 initWithCoder 之前定义这个属性。

我们如何在initWithCoder中动态设置它的初始值? (或任何其他默认构造函数?)

目前我已将该属性设为var并且我从storyboard本身设置该属性的值(用户定义的运行时属性)

这是代码

class BMLabel: UILabel {

    var labelType:NSNumber!
    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
    }
    override func awakeFromNib() {
        self.setUpProperties()

    }
    func setUpProperties() {
        switch(labelType) {
        case 1:
            self.font = Constants.FONTS.LIST_UUID_FONT

Image of storyboard

0 个答案:

没有答案