Как изменить или отключить вращающуюся анимацию, когда ориентация экрана меняется с ландшафта на портрет, или наоборот?Измените или отключите вращающуюся анимацию iPhone при изменении ориентации.
ответ
Если вы не хотите, чтобы ваши контроллеры просмотров вращаются, просто переопределите метод контроллера toAutoRotateToInterface, чтобы вернуть false для любой ориентации, которую вы не хотите поддерживать ... Here is a reference.
В том случае, если у просто хочет обрабатывать Rotation другого способа, вы можете вернуть ложны в указанных выше способах и зарегистрировать UIDeviceOrientationDidChangeNotification как так
NSNotificationCenter* nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(handleOrientationDidChange:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
Теперь, когда и получить уведомления и может делать все, что вам хочу с этим ...
Да, можно отключить анимацию, не разбирая все на части.
следующие коды отключат «черный ящик» анимацию вращения, не мешая с другими анимация или кодом ориентации:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[UIView setAnimationsEnabled:YES];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[UIView setAnimationsEnabled:NO];
/* Your original orientation booleans*/
}
поместите его в UIViewController и все должно быть хорошо. Тот же метод может применяться к любой нежелательной анимации в iOS.
Удачи вам в вашем проекте.
Для совместимости с iOS 6+ (и предыдущей) вы можете поместить [UIView setAnimationsEnabled: NO] в willRotateToInterfaceOrientation: duration: вместо shouldAutorotateToInterfaceOrientation: –
Не забудьте вызвать супер-реализацию, если вы переопределите их. В частности, документы Apple говорят, что если вы переопределяете willRotateToInterfaceOrientation: duration: or didRotateFromInterfaceOrientation: «Ваша реализация этого метода должна вызвать супер в какой-то момент во время его выполнения». – levigroker
Вот версия Swift ... http://stackoverflow.com/a/6292506/294884 – Fattie
Ответ от @Nils Munch выше можно найти для < iOS7. Для iOS 7 или более поздних версий вы можете использовать:
- (void) viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[UIView setAnimationsEnabled:NO];
[coordinator notifyWhenInteractionEndsUsingBlock:^(id<UIViewControllerTransitionCoordinatorContext> context) {
[UIView setAnimationsEnabled:YES];
}];
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
- 1. Отключить анимацию css при изменении ориентации
- 2. Создайте вращающуюся анимацию
- 3. Изменить положение UIViews при изменении ориентации iPhone
- 4. Проблемы при изменении ориентации ориентации
- 5. Android: Как обрабатывать анимацию макета при изменении ориентации?
- 6. Android: измените расположение элементов списка при изменении ориентации?
- 7. iscroll проблема при изменении ориентации
- 8. Iphone автоматическое масштабирование при изменении ориентации при наличии элемента ввода
- 9. NullPointerException при изменении ориентации
- 10. NullPointerException при изменении ориентации
- 11. Перезагрузка UITableViewCell при изменении ориентации
- 12. Удалить вращающуюся анимацию из three.js куба
- 13. Как сделать повторяющуюся вращающуюся анимацию в Киви?
- 14. Поверните ImageButton при изменении ориентации
- 15. ActionItem появляется при изменении ориентации
- 16. Применение разбился при изменении ориентации
- 17. ШерлокActionBar блокируется при изменении ориентации
- 18. Сбой приложения при изменении ориентации
- 19. Сохранение данных при изменении ориентации
- 20. Начать анимацию при изменении ContentControl.Content
- 21. Фрагмент исчезает при изменении ориентации
- 22. Сбой SurfaceView при изменении ориентации
- 23. Высота панели инструментов UINavigationController при изменении ориентации
- 24. Скрыть UITabBar при изменении ориентации
- 25. Активность уменьшается при изменении ориентации
- 26. перезапуска SherlockActivity при изменении ориентации
- 27. Утечка IntentReciever при изменении ориентации
- 28. Ручка SQLiteOpenHelper при изменении ориентации
- 29. при изменении ориентации памяти увеличивается
- 30. Сохранение оператора при изменении ориентации
Я думаю, что он все еще хочет, чтобы он вращался, но чтобы использовать другую анимацию или вообще не анимацию. –
изменил ответ, чтобы отразить это – Daniel
, который сделал трюк. –