Junior — Middle
Hoe implementeer je een vloeiende verandering van de weergave bij het schakelen van de apparaatoriëntatie?
sobes.tech AI
Antwoord van AI
Voor een vloeiende overgang bij het wijzigen van de weergave bij het draaien van het apparaat in iOS, worden meestal de lifecycle-methoden van de controller en animaties gebruikt.
De belangrijkste aanpak is het overschrijven van de methode viewWillTransition(to:with:) in je UIViewController. In deze methode kun je de nieuwe schermafmetingen verkrijgen en een interface-animatie uitvoeren met behulp van het object UIViewControllerTransitionCoordinator.
Voorbeeld:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: { _ in
// Hier werken we de layout bij of wijzigen UI-elementen
self.view.layoutIfNeeded()
}, completion: nil)
}
Als je Auto Layout gebruikt, zorgt het wijzigen van constraints en het aanroepen van layoutIfNeeded() binnen de animatie voor een vloeiende overgang.
Je kunt ook UIView.animate gebruiken voor aangepaste animaties bij het veranderen van de oriëntatie.