Я разрабатываю приложение для iPhone, которое поддерживает 2 ориентации. У меня есть два файла UIView для этого контроллера. Мне нужно установить соответствующий файл UIView в контроллер вида в соответствии с ориентацией интерфейса устройства. Можете ли вы посоветовать мне, как изменить ориентацию?Как изменить вид viewcontroller при изменении ориентации в iPhone?
0
A
ответ
3
Почему вы хотите использовать два вида для ориентации? Вы можете установить autoresizemask свойства элементов управления, если портрет и пейзаж оба режима имеют аналогичный контроль, чтобы показывать в одном месте. В противном случае, вам нужно использовать два вида в
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;
или вы можете иметь уведомление о UIDevice
UIKIT_EXTERN NSString *const UIDeviceOrientationDidChangeNotification;
- (void)beginGeneratingDeviceOrientationNotifications; // nestable
- (void)endGeneratingDeviceOrientationNotifications;
2
просто передайте этот делегат в своем контроллере для обеих ориентаций.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
3
Предполагая, что вы установили -(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
, чтобы вернуть поддерживаемые ориентации, вы можете использовать следующие методы, которые могут быть установлены в вашем UIViewController, чтобы проверить изменения ориентации, а затем установить ваши взгляды:
// called just before the user interface starts to rotate - my advice would be to use this method to save a copy of the current orientation.
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
// called after the interface has finished rotating. Here, you can compare the old orientation with the new one - if you went from portrait to landscape, then update your views accordingly.
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
Надеюсь, это поможет!
Смежные вопросы
- 1. Изменить положение UIViews при изменении ориентации iPhone
- 2. Как изменить ориентацию ориентации viewController?
- 3. Как изменить размер изображения при изменении ориентации ..?
- 4. Как изменить размер изображения при изменении ориентации
- 5. iAD вид снизу при изменении ориентации
- 6. Tableview, встроенный в вид контейнера, сбрасывает данные при изменении ориентации.
- 7. Создание ViewController в альбомной ориентации на iPhone
- 8. Как изменить ViewController на основе ориентации устройства
- 9. Viewcontroller Tabbar получает перезагрузку при изменении ориентации, в iOS 8
- 10. Проблемы при изменении ориентации ориентации
- 11. Черный фон, когда вид поворачивается при изменении ориентации
- 12. iPad: изменить вид ориентации при загрузке
- 13. Изменить вид, когда iPhone повернут?
- 14. Как изменить минимальную шкалу масштабирования при изменении ориентации?
- 15. Android: как сохранить пользовательский вид лакокрасочного покрытия при изменении ориентации
- 16. iPhone sdk tab bar auto rotate при изменении ориентации
- 17. Как поворачивать родительский вид при изменении ориентации дочернего вида
- 18. NullPointerException при изменении ориентации
- 19. NullPointerException при изменении ориентации
- 20. UIView Subview Не авторезистентно при изменении ориентации
- 21. Как изменить ширину элемента в UIToolbar при изменении ориентации?
- 22. iscroll проблема при изменении ориентации
- 23. Перезагрузка UITableViewCell при изменении ориентации
- 24. Измените или отключите вращающуюся анимацию iPhone при изменении ориентации.
- 25. Странное поведение при изменении ориентации
- 26. Скрыть UITabBar при изменении ориентации
- 27. Iphone автоматическое масштабирование при изменении ориентации при наличии элемента ввода
- 28. Управление подвью при изменении ориентации на iPhone OS 3.0
- 29. Как предотвратить изменение фонового изображения iPhone при изменении ориентации устройства?
- 30. Зазор при изменении viewcontroller