title: Weird issue while using IBDesignable UILabel class
body: <p>I am facing a weird issue when I try to use the custom UILabel that I have designed. The view is visible in the storyboard and its working fine with properties. Now What I have done is in my Designable class i have set a property called <code>isError</code> which when set, I need to append an * at the start of my text. </p>
  
  <p>But as soon as in my code I do that, My Designable properties are not used and the Label is not correctly shown on the device and it takes the default properties of UILabel without adding * to the text. Not sure where I am going wrong.</p>
  
  <p><strong>Custom Label Code</strong></p>
  
  <pre><code>@IBDesignable class KGIBDesignableLabel: UILabel {
  
      @IBInspectable var verticalPad: CGFloat = 0
      @IBInspectable var horizontalPad: CGFloat = 0
      var isError: Bool = false{
          didSet {
              setup()
          }
      }
  
      override func awakeFromNib() {
          super.awakeFromNib()
          setup()
      }
      override func layoutSubviews() {
          super.layoutSubviews()
          setup()
      }
      override func prepareForInterfaceBuilder() {
          super.prepareForInterfaceBuilder()
          setup()
      }
  
  
      func setup(){
          if isError{
              text="*"+text!;
              textColor = UIColor.KGColorPalette.errorMessageColor
          }else{
              textColor = UIColor.KGColorPalette.textEntryLabelColor
              text=text!;
          }
  
          font = UIFont(name: "Helvetica", size: 14)
          clipsToBounds = true
          textAlignment = .center
          numberOfLines = 0
          lineBreakMode = NSLineBreakMode.byWordWrapping
  
          sizeToFit()
      }
  
      override var intrinsicContentSize: CGSize {
          let superSize = super.intrinsicContentSize
          let newWidth = superSize.width + superSize.height + (2 * horizontalPad)
          let newHeight = superSize.height + (2 * verticalPad)
          let newSize = CGSize(width: newWidth, height: newHeight)
          return newSize
      }
  }
  </code></pre>
  
  <p><strong>Access code in VC</strong> </p>
  
  <pre><code>class ViewController: UIViewController {
      @IBOutlet weak var labelCustom: KGIBDesignableLabel!
  
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
          // Do any additional setup after loading the view, typically from a nib.
  
          labelCustom.isError=true
          // After adding this^ line it takes default UILabel properties
      }
  </code></pre>