title: Update constraints for IBDesignable
body: <p>I have a <code>@IBDesignable</code> <code>UIView</code> (ContainerView) that has one subView (also <code>@IBDesignable</code>). I would very much like to be able to update the constraints of the subView in the code in a way were they are automatically updated in InterfaceBuilder. <br /><br /><b>Example:</b></p>
  
  <pre><code>@IBDesignable class ContainerView: UIView {
  
      @IBOutlet var mySubView: MyView!
  
      override func prepareForInterfaceBuilder() {
          super.prepareForInterfaceBuilder()
          self.setup()
      }
  
      override func layoutSubviews() {
          super.layoutSubviews()
          self.setup()
      }
  
      private func setup() {
          self.mySubView.leadingConstraint.constant = MyResource.sizes.defaultLeading
      }
  }
  </code></pre>
  
  <p>This will work just fine at runtime, but it crashes the <code>IBDesignablesAgent</code> because <code>mySubView</code> is <code>nil</code> when running <code>prepareForInterfaceBuilder</code>. <br /><br />
  I want to do it this way to be able to set my constraints globally in some constants, but keep the view representation in my xib files.
  <br /><br />
  Does anyone have a work around for this, or am I reaching for the impossible here?</p>