Kann jemand die Unterschiede zwischen diesen beiden Methoden erklären? In den Dokumenten für UIViewController wird explizit angegeben, dass viewWillTransitionToSize für die Verwaltung von Rotationen verwendet werden soll, aber auf klicken bis zum UIContentContainer-Seite , macht die willTransitionToTraitCollection -Methode einen verwirrenden Eingang.
Ich glaube, ich verstehe den konzeptionellen Unterschied zwischen einer Größenklassenänderung (Änderung der Merkmalssammlung) und einer Größenänderung, aber ich bin mir nicht sicher, welche Methode unter welchen Umständen zu implementieren ist. Klärung durch einen UIKit-Assistenten wäre hilfreich!
Wann immer Sie etwas als Antwort auf einen Benutzer tun wollen, der sein Gerät rotiert, sollten Sie viewWillTransitionToSize
verwenden, wenn Sie sicher sind, dass Ihre Aktionen ausgeführt werden, da dies jedes Mal aufgerufen wird, wenn das Fenster der Anwendung ihre Größe ändert.
Wenn Sie nur Maßnahmen ergreifen möchten, wenn sich die Merkmalssammlung ändert, wenn Sie beispielsweise eine bestimmte collectionViewLayout
für eine Compact
Größenklasse und eine andere% Regular
für willTransitionToTraitCollection
festgelegt haben, verwenden Sie traitCollection
.
Wenn sich die Merkmalssammlung ändert, ändert sich auch die Größe. Aber es funktioniert nicht umgekehrt. Ein iPad im Hochformat und ein iPad in der Landschaft haben die gleichen Merkmale, sind aber unterschiedlich groß. Fügen Sie der Mischung Multitasking hinzu und Sie haben eine Vielzahl von Größen, die nur zwei %code% Größenklassen zuordnen.
Tags und Links ios uiviewcontroller uikit rotation