UIView анимированные изменения с автоматическими ограничениями макета

Скажи, что у меня есть проект, который выглядит следующим образом:

Есть дваUIViewс - один называетсяyellowBox а другой называетсяredBox, Ограничения автоматического размещения диктуют, чтоyellowBox составляет 60 пунктов от вершины суперпредставления с 350 точками, ведущими и замыкающими пробелами (то есть слева и справа от вида).redBox имеет одинаковые начальные и конечные ограничения пространства. Существует вертикальное ограничение пространства между двумя полями 0, чтобы указать, что нижняя частьyellowBox всегда должен быть прямо надredBox.

Когда пользователь нажимает кнопку «Развернуть желтую рамку», я бы хотел высотуyellowBox увеличить и, как следствие,redBox движется вниз, чтобы продолжить удовлетворять вертикальное ограничение пространства (чтоyellowBox всегда на вершинеredBox). Вот код анимации:

- (IBAction)expandYellowBox:(id)sender {

    [UIView animateWithDuration:0.5
                     animations:^{
                         CGRect newFrame = self.yellowBox.frame;
                         newFrame.size.height += 50;
                         self.yellowBox.frame = newFrame;
                     }];

}

Тем не менее, я не смог заставить это работать должным образом. Как вы можете видеть по красному значку, на данный момент существует проблема с ограничениями:

что достаточно справедливо, так как автоматическое расположение не позволяет узнать высоту блоков. Тем не менее, я не знаю, как решить эту проблему таким образом, чтобы он позволял изменять размеры ящиков и перемещать их. Например, если я укажу ограничение высоты наyellowBox тогда это предотвратит изменение размера. Если я установлю ограничение высоты, чтобы бытьбольше или равно (чтобы позволитьyellowBox высота, чтобы увеличить), то я получаю другую ошибку ограничения:

Все ограничения были установлены с использованием XCode в раскадровке - ни один не был написан в коде.

Любая помощь с благодарностью.

РЕДАКТИРОВАТЬ: Как оказалось,yellowBox растет при нажатии кнопки - просто я не могу сказать, потому что она появляется заredBox, Я заметил только после того, как щелкнул четыре раза, и он начал появляться в нижней частиredBox, Тем не менее, остается тот же вопрос - как получитьredBox всегда придерживаться днаyellowBox.

Ответы на вопрос(3)

Ваш ответ на вопрос