title: Update SnapKit Constraint offset
body: <p>I am using <a href="http://snapkit.io/docs/" rel="noreferrer">SnapKit</a> and can't find a clean way to update the offset of a constraint. It's a simple loading bar view whose inner view (expiredTime) has to fill the parent (left to right) according to percentage.</p>
  
  <p>I create the constraint in the <code>awakeFromNib</code> of a custom UIView</p>
  
  <pre><code>    self.expiredTime.snp.makeConstraints { (make) in
          make.left.equalTo(self)
          make.top.equalTo(self)
          make.bottom.equalTo(self)
          self.constraintWidth = make.width.equalTo(self).constraint 
      }
      setNeedsUpdateConstraints()
  </code></pre>
  
  <p>then whenever the time is updated i call <code>setNeedsUpdateConstraints()</code> which will trigger the default updateConstraints() which has been overloaded as by apple hint:</p>
  
  <p><strong>Does not work:</strong> (the expiredTime view always fit with the parent view)</p>
  
  <pre><code>override func updateConstraints() {
  
      let offset = self.frame.width * CGFloat(percentage)
  
      self.expiredTime.snp.updateConstraints { (make) in
          make.width.equalTo(self).offset(offset).constraint
      }
      super.updateConstraints()
  }
  </code></pre>
  
  <p>This also <strong>does not work</strong>:    </p>
  
  <pre><code>override func updateConstraints() {
      let offset = self.frame.width * CGFloat(percentage)
      self.constraintWidth?.update(offset: offset)
      super.updateConstraints()
  }
  </code></pre>
  
  <p>Rebuilding all the constraint <strong>works</strong> but i would like to avoid it</p>
  
  <pre><code>override func updateConstraints() {
  
      self.expiredTime.snp.remakeConstraints() { (make) in
          make.left.equalTo(self)
          make.top.equalTo(self)
          make.bottom.equalTo(self)
          self.constraintWidth = make.width.equalTo(self).multipliedBy(self.percentage).constraint
      }
      super.updateConstraints()
  }
  </code></pre>