Ich habe eine UIView
, in der ich einen Film anzeigen, wenn ein bestimmtes Kapitel es erfordert. Diese Ansicht wird über Einschränkungen in Main.storyboard
angepasst, um sie an das iPhone anzupassen. Alles funktioniert gut auf dem iPad. Es funktioniert auch gut auf dem iPhone, es sei denn, die App wird neu geladen, wenn ein Film mit Kapitel zuletzt aktiv war, was bedeutet, dass ein Film beim Laden zuerst geladen wird. In diesem Szenario wird der Film in die iPad-Abmessungen statt in die kleineren iPhone-Spezifikationen geladen.Timing von Constraints Anwendung
Es scheint, dass die Beschränkungen für die Ansicht des Films nicht rechtzeitig behoben werden. Das Problem konzentriert sich auf eine Abfrage der Grenzen der Ansicht. Wenn ich eine Verzögerung vor der Verwendung der Grenzen einfüge, verschwindet das Problem. In der Tat, eine Verzögerung von 0,0 Sekunden macht den Job!
Einen Kludon zu verwenden, der auf einer Verzögerung beruht, scheint ziemlich funky zu mir. Ich kann auch den Anruf, der die Grenzen verwendet, an viewDidLoad
verschieben, um das Problem zu lösen, aber dann sehe ich einige zugrunde liegende "Müll" beim Neuladen der App, das Startbild scheinbar nicht in Kraft. Irgendwelche Vorschläge?
Es klingt, als würden Sie 'Grenzen 'verwenden, bevor Ihre Ansichten angezeigt wurden. Ohne Ihren Code wirklich zu sehen, würde ich vorschlagen, Ihren beschriebenen Code innerhalb von 'viewDidLayoutSubViews' auszuführen. – ZGski
Danke! Ich hatte nie die Möglichkeit, dies zu benutzen, es scheint, dass es hier gebraucht wird. – bpedit
Ich werde es eine Antwort machen, damit diese Frage offiziell gelöst werden kann. – ZGski