Junior — Middle
Ako implementovať plynulú zmenu zobrazenia pri prepínaní orientácie zariadenia?
sobes.tech AI
Odpoveď od AI
Pre plynulý prechod pri zmene orientácie zariadenia v iOS sa zvyčajne používajú metódy životného cyklu kontroléra a animácie.
Hlavný prístup spočíva v prepísaní metódy viewWillTransition(to:with:) vo vašom UIViewController. V tejto metóde môžete získať nové rozmery obrazovky a vykonať animáciu zmeny rozhrania pomocou objektu UIViewControllerTransitionCoordinator.
Príklad:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { _ in
// Tu aktualizujeme rozloženie alebo meníme UI prvky
self.view.layoutIfNeeded()
}, completion: nil)
}
Ak používate Auto Layout, zmena constraints a volanie layoutIfNeeded() v rámci animácie zabezpečí plynulý prechod.
Tiež môžete použiť UIView.animate pre vlastné animácie pri zmene orientácie.