Sobes.tech
Junior — Middle

Kuidas rakendada sujuvat muutust kuvas kuvamisel seadme orientatsiooni muutmisel?

sobes.tech AI

Vastus AI-lt

Sileda ülemineku tagamiseks, kui seadme orientatsioon muutub iOS-is, kasutatakse tavaliselt kontrollija elutsükli meetodeid ja animatsioone.

Peamine lähenemisviis on üle kirjutada oma UIViewController'is meetod viewWillTransition(to:with:). Selles meetodis saate saada uued ekraani mõõtmed ja teha kasutajaliidese muutmise animatsiooni, kasutades objekti UIViewControllerTransitionCoordinator.

Näide:

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    
    coordinator.animate(alongsideTransition: { _ in
        // Siin uuendame paigutust või muudame UI elemente
        self.view.layoutIfNeeded()
    }, completion: nil)
}

Kui kasutate Auto Layouti, siis piirangute muutmine ja layoutIfNeeded() kutsumine animatsiooni ajal tagab sujuva ülemineku.

Samuti saate kasutada UIView.animate kohandatud animatsioonide jaoks orientatsiooni muutmisel.