Junior — Middle
Hogyan valósítható meg zökkenőmentesen a kijelző változása az eszköz irányának váltásakor?
sobes.tech MI
Válasz az MI-től
Az iOS-eszköz irányának váltásakor a megjelenítés zökkenőmentes változtatásának biztosításához általában a vezérlő életciklusának módszereit és animációkat használják.
A fő megközelítés az, hogy felülírjuk a viewWillTransition(to:with:) metódust a UIViewController-ben. Ebben a módszerben megkaphatja az új képernyőméreteket, és az UIViewControllerTransitionCoordinator objektum segítségével végrehajthat egy felületváltoztatási animációt.
Példa:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { _ in
// Itt frissítjük a layout-ot vagy módosítjuk a UI elemeket
self.view.layoutIfNeeded()
}, completion: nil)
}
Ha Auto Layout-ot használ, a constraint-ek módosítása és a layoutIfNeeded() hívása az animáció során biztosítja a zökkenőmentes átmenetet.
Ezenkívül a UIView.animate használható egyedi animációkhoz az irányváltás során.