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)

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