Sobes.tech
Junior — Middle

Ինչպես իրականացնել հոսող փոփոխություն ցուցադրման մեջ սարքի ուղղությունը փոխելիս?

sobes.tech AI

Պատասխան AI-ից

iOS-ում սարքի ուղղությունը փոխելիս ցուցադրման հոսքը հարթ դարձնելու համար սովորաբար օգտագործվում են վերահսկողի կյանքի ցիկլի մեթոդները և անիմացիաները:

Հիմնական մոտեցումը այն է, որ ձեր UIViewController-ում վերագրեք viewWillTransition(to:with:) մեթոդը: Այս մեթոդում դուք կարող եք ստանալ էկրանին նոր չափերը և իրականացնել UI փոփոխության անիմացիա UIViewControllerTransitionCoordinator օբյեկտի միջոցով:

Օրինակ՝

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    
    coordinator.animate(alongsideTransition: { _ in
        // Այստեղ մենք թարմացնում ենք layout-ը կամ փոխում UI տարրերը
        self.view.layoutIfNeeded()
    }, completion: nil)
}

Եթե օգտագործում եք Auto Layout, ապա constraints-ների փոփոխությունը և layoutIfNeeded()-ի կանչը անիմացիայի մեջ ապահովում է հարթ անցում:

Նաև կարող եք օգտագործել UIView.animate՝ հարմարեցված անիմացիաների համար ուղղության փոփոխության ժամանակ։