Junior — Middle
Чӣ гуна бояд ифодаи намоишро ҳангоми тағир додани самт ёрии дастгоҳ ба назар мерасад?
sobes.tech AI
Ҷавоб аз AI
Барои гузаронидани гузариши нарм дар вақти иваз кардани самтгирии дастгоҳ дар iOS, одатан методҳои давраи ҳаёти контролер ва анимацияҳоро истифода мебаранд.
Роҳи асосӣ ин аст, ки методи viewWillTransition(to:with:)-ро дар UIViewController-и худ иваз кунед. Дар ин метод, шумо метавонед андозаҳои нави экранро гиред ва бо ёрии объект 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-ро барои анимацияҳои махсус дар вақти иваз кардани самт истифода баред.