UIView animowane zmiany z automatycznymi ograniczeniami układu

Powiedz, że mam projekt, który wygląda następująco:

Istnieją dwaUIViews - jeden nazwanyyellowBox a drugi dzwoniłredBox. Ograniczenia układu automatycznego określają, żeyellowBox to 60 punktów z górnej części superwizji z 350 punktami wiodącymi i końcowymi spacjami (tj. z lewej i prawej strony widoku). TheredBox ma takie same ograniczenia przestrzeni początkowej i końcowej. Między dwoma polami 0 znajduje się pionowe ograniczenie przestrzeni, które wskazuje, że dolna część polayellowBox powinien zawsze znajdować się bezpośrednio naredBox.

Gdy użytkownik dotknie przycisku Rozwiń żółte pole, chciałbym wysokośćyellowBox zwiększyć, aw rezultacieredBox przesuwa się w dół, aby nadal spełniać ograniczenie przestrzeni w pionie (żeyellowBox jest zawsze na wierzchuredBox). Oto kod animacji:

- (IBAction)expandYellowBox:(id)sender {

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

}

Jednak nie udało mi się tego poprawnie uruchomić. Jak widać po czerwonej ikonie, istnieje problem z ograniczeniami w tej chwili:

co jest wystarczająco uczciwe, ponieważ nie ma możliwości automatycznego ustawienia wysokości pudełek. Nie wiem jednak, jak rozwiązać ten problem w taki sposób, aby umożliwić zmianę rozmiaru pudełek i ich przenoszenie. Na przykład, jeśli określę ograniczenie wysokości nayellowBox to uniemożliwi zmianę rozmiaru. Jeśli ustawię ograniczenie wysokości nawiększe lub równe (aby umożliwićyellowBox wysokość do zwiększenia), a następnie otrzymuję inny błąd ograniczenia:

Wszystkie ograniczenia zostały ustanowione przy użyciu Xcode w serii ujęć - żaden nie został napisany kodem.

Każda pomoc bardzo doceniana.

EDYTOWAĆ: Jak się okazuje,yellowBox rośnie po kliknięciu przycisku - po prostu nie mogłem powiedzieć, ponieważ pojawia się zaredBox. Zauważyłem to dopiero po czterech kliknięciach i zaczęło pojawiać się na doleredBox. Jednak wciąż pozostaje to samo pytanie - jak zdobyćredBox zawsze trzymać się dnayellowBox.

questionAnswers(3)

yourAnswerToTheQuestion