UIView animierte Änderungen mit Auto-Layout-Einschränkungen

Angenommen, ich habe ein Projekt, das wie folgt aussieht:

Es gibt zweiUIViews - man hat angerufenyellowBox und der andere rief anredBox. Die Einschränkungen für das automatische Layout legen fest, dassyellowBox beträgt 60 Punkte vom oberen Rand der Übersicht mit 350 Punkten vor und nach dem Abstand (d. h. links und rechts von der Ansicht). DasredBox hat die gleichen Einschränkungen hinsichtlich des führenden und nachfolgenden Speicherplatzes. Zwischen den beiden Kästchen von 0 gibt es eine vertikale Platzbeschränkung, um anzuzeigen, dass der untere Rand desyellowBox sollte immer direkt oben auf dem seinredBox.

Wenn der Benutzer auf die Schaltfläche "Gelbes Feld erweitern" tippt, möchte ich die Höhe deryellowBox zu erhöhen und infolgedessen dieredBox bewegt sich nach unten, um die vertikale Raumbeschränkung weiterhin zu erfüllen (dass dieyellowBox ist immer oben auf derredBox). Hier ist der Animationscode:

- (IBAction)expandYellowBox:(id)sender {

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

}

Ich war jedoch nicht in der Lage, dies richtig zum Laufen zu bringen. Wie Sie an dem roten Symbol erkennen können, liegt derzeit ein Problem mit den Einschränkungen vor:

Das ist fair genug, da das automatische Layout die Höhe der Kisten nicht kennt. Ich kann dieses Problem jedoch nicht so beheben, dass die Größe der Boxen geändert und verschoben werden kann. Zum Beispiel, wenn ich eine Höhenbeschränkung für dieyellowBox Dann wird verhindert, dass die Größe geändert wird. Wenn ich die Höhenbeschränkung auf setzegrößer als oder gleich (um das zu erlaubenyellowBox Höhe zu erhöhen), dann bekomme ich einen anderen Einschränkungsfehler:

Alle Einschränkungen wurden mithilfe von Xcode im Storyboard festgelegt - keine wurden in Code geschrieben.

Jede Hilfe sehr geschätzt.

BEARBEITEN: Wie sich herausstellt, dieyellowBox wächst, wenn auf die Schaltfläche geklickt wird - es ist nur ich konnte nicht sagen, weil es hinter dem angezeigt wirdredBox. Ich bemerkte es erst, nachdem ich ungefähr vier Mal darauf geklickt hatte und es fing an, am unteren Rand des Fensters zu erscheinenredBox. Die gleiche Frage bleibt jedoch immer noch - wie kommt man an dieredBox immer auf dem Boden der Sache bleibenyellowBox.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage