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՝ հարմարեցված անիմացիաների համար ուղղության փոփոխության ժամանակ։