I have two views that I am trying to resize/reposition with auto layout.

![enter image description here](https://i.stack.imgur.com/VrLpi.png)

I have set the following constraints:

Red view:

* Top space to superview: 0
* Trailing and leading space to superview: 0
* Height equals: 100

Blue view:

* Top space to red view: 0
* Trailing and leading space to superview: 0
* Height equals: 100

Both views are subviews of `self.view`. And the blue view has a `UILabel` as a subview (not shown in the screenshot).
What I want to do is to change the size of the red view (with animation) and have the blue view follow that size change:

```
- (IBAction)resizeButtonPressed:(UIButton*)sender
{
    [UIView animateWithDuration:0.25 animations:^{
        if (sender.selected) {
            self.redViewHeightConstraint.constant = 100; // collapse
        }
        else {
            self.redViewHeightConstraint.constant = 200; // expand
        }
        [self.view layoutIfNeeded];
    }];

    sender.selected = !sender.selected;
}

```

The animation works and the size of the red view changes. However, the blue view never changes position, even though it has a constraint to the bottom of the red view.

I have tried adding `[self.blueView layoutIfNeeded]` and even both `[self.view setNeedsUpdateConstraints]` and `[self.blueView setNeedsUpdateConstraints]`, but it made no difference.

The weird thing is that if I remove the label from the blue view everything works as expected. As soon as I add it again the blue view remains static. It makes no difference if the label has any constraints or not.