iOS: вращение iPad, на каком этапе менять вид? - PullRequest
0 голосов
/ 11 февраля 2012

Мое приложение имеет очень разные структуры пользовательского интерфейса для каждой ориентации.

На каком этапе жизненного цикла ротации iPad следует удалить, а затем добавить пользовательский интерфейс ориентации, чтобы обеспечить самый плавный переход?

1 Ответ

6 голосов
/ 11 февраля 2012

При работе с автоповоротом у вас есть 4 основных метода:

shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation                                   duration:(NSTimeInterval)duration

willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                            duration:(NSTimeInterval)duration

didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

Теперь способ управления вращением, например:

  1. настройкавсе кадры в willAnimateRotationToInterfaceOrientation;

  2. добавить / удалить подпредставления (при необходимости) в willRotateToInterfaceOrientation;

  3. восстановить подпредставления (при необходимости)) в didRotateFromInterfaceOrientation.

В общем, я изменяю все свойства, которые можно анимировать в willAnimateRotationToInterfaceOrientation;в то время как я делаю все модификации, которые нельзя анимировать в willRotateToInterfaceOrientation / didRotateFromInterfaceOrientation.

Это то, что ссылка UIViewController говорит о willRotate / didRotate:

Чтобы временно отключить функции, которые не нужны или могут вызвать проблемы во время изменения ориентации, вы можете переопределить метод willRotateToInterfaceOrientation: duration: и выполнить там необходимые действия.Затем вы можете переопределить метод didRotateFromInterfaceOrientation: и использовать его для включения этих объектов после завершения изменения ориентации.

...