При работе с автоповоротом у вас есть 4 основных метода:
shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
Теперь способ управления вращением, например:
настройкавсе кадры в willAnimateRotationToInterfaceOrientation
;
добавить / удалить подпредставления (при необходимости) в willRotateToInterfaceOrientation
;
восстановить подпредставления (при необходимости)) в didRotateFromInterfaceOrientation
.
В общем, я изменяю все свойства, которые можно анимировать в willAnimateRotationToInterfaceOrientation
;в то время как я делаю все модификации, которые нельзя анимировать в willRotateToInterfaceOrientation
/ didRotateFromInterfaceOrientation
.
Это то, что ссылка UIViewController говорит о willRotate
/ didRotate
:
Чтобы временно отключить функции, которые не нужны или могут вызвать проблемы во время изменения ориентации, вы можете переопределить метод willRotateToInterfaceOrientation: duration: и выполнить там необходимые действия.Затем вы можете переопределить метод didRotateFromInterfaceOrientation: и использовать его для включения этих объектов после завершения изменения ориентации.