Skip to content
This repository was archived by the owner on Sep 17, 2022. It is now read-only.

Setting up an @IBDesignable Label

Beat edited this page Feb 7, 2016 · 1 revision

To set up an @IBDesignable label using Mixer goes as follows:

import Mixer

In your label, assign color rawValue to an @IBInspectable variable. Interface builder does not yet support enums, so the mapping from string to enum is done in setupLabel

import Mixer

@IBDesignable class MyLabel: UILabel {
    
    let mixer = Mixer(bundle: NSBundle(forClass: MyLabel.self))
    
    @IBInspectable var color: String = MyColor.Blue.rawValue {
        didSet {
            setupLabel()
        }
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        setupLabel()
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupLabel()
    }
    
    private func setupLabel() {
        self.tintColor = mixer.colorFor(color)
    }

}
Clone this wiki locally