title: iOS: How does one animate to new autolayout constraint (height)
body: <p>I've never worked with <strong>autolayout</strong> constraints before. I have a small new app I'm working on and noticed that the NIB's views are defaulting to autolayout. So, I figured I'd take the opportunity to work <em>with</em> it and try to figure out where Apple is going with this. </p>
  
  <p>First challenge:</p>
  
  <p>I need to resize an MKMapView and I'd like to animate it to the new position. If I do this the way I'm used to:</p>
  
  <pre><code>[UIView animateWithDuration:1.2f
       animations:^{
           CGRect theFrame = worldView.frame;
           CGRect newFrame = CGRectMake(theFrame.origin.x, theFrame.origin.y, theFrame.size.width, theFrame.size.height - 170);
           worldView.frame = newFrame;
  }];
  </code></pre>
  
  <p>...then the MKMapView will 'snap' back to its original height whenever a sibling view gets updated (in my case a UISegmentedControl's title is being updated <code>[myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0]</code>).</p>
  
  <p>So, what I <em>think</em> I want to do is change the constraints of the MKMapView from being equal to the parent view's hight to being relative to the top of the UISegmentedControl that it <em>was</em> covering: <code>V:[MKMapView]-(16)-[UISegmentedControl]</code></p>
  
  <p>What I want is for the MKMapView height to shorten so that some controls beneath the map view are revealed. To do so I <em>think</em> I need to change the constraint from a fixed full size view to one where the bottom is constrained to the top of a UISegmentedControl...and I'd like it to animate as view shrinks to new size.</p>
  
  <p>How does one go about this?</p>
  
  <p>Edit - <strong>this animation is <em>not</em> animating</strong> though the bottom of the view does move up 170 instantly:</p>
  
  <pre><code>    [UIView animateWithDuration:1.2f
           animations:^{
               self.nibMapViewConstraint.constant = -170;
  
      }];
  </code></pre>
  
  <p>and the <code>nibMapViewConstraint</code> is wired up in IB to the bottom Vertical Space constraint.</p>