Я пишу модуль, который включает в себя UIViewController
(и Storyboard), и его можно вызывать другой программой-оболочкой, поэтому я не могу принудительно применять подкласс класса UINavigationController
, но его можно использовать по UINavigationController
.
В этом случае, как я могу изменить ориентацию своего ViewController
? Кроме того, только один UIViewController
должен быть программно изменен ориентацией.
Я попытался использовать UINavigationControllerDelegate
, но он не называется. (Я попробовал установить делегат как на init
, так и на viewDidLoad
, но не работал)
Есть ли другой способ решить эту проблему без?
Любая помощь будет оценена по достоинству.Программно изменить ориентацию ViewController без подкласса UINavigationController
0
A
ответ
0
Установить это в viewDidAppear
методе ViewController:
для ландшафтного:
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
ИЛИ
Для Портрет:
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
+0
Не повезло. Фактически, мне также нужна кнопка переключения для изменения ориентации. – Aigori
0
Это было не важно, из UINavigationController
. supportedInterfaceOrientations
и shouldAutorotate
не были вызваны, так как iOS 9 (iPad) заблокировали их. Я могу решить эту проблему, проверяя Требуется полный экран (Настройки цели) - Общие сведения - Информация о развертывании.
Это то, что я нашел (подробно). https://stackoverflow.com/a/33567990/1010443
Смежные вопросы
- 1. Как определить ориентацию подкласса viewController в ipad
- 2. Как изменить ориентацию ориентации viewController?
- 3. Как программно изменить ориентацию SurfaceView
- 4. не может изменить ориентацию ViewController в раскадровка
- 5. Как изменить ориентацию конкретного ViewController в Xcode
- 6. UINavigationController + shouldAutoRotate + нет подкласса
- 7. предотвратить ориентацию изменения в ViewController
- 8. UINavigationController - same viewController
- 9. изменить ориентацию без onCreate call
- 10. Как изменить ориентацию UIViewController на ландшафт программно?
- 11. Изменить ориентацию экрана программно с помощью кнопки
- 12. Cocos2d-x - Программно изменить ориентацию экрана
- 13. JQuery Mobile, Как принудительно изменить ориентацию, Программно
- 14. как изменить ориентацию в андроида программно
- 15. программно изменить ориентацию устройства в iphone
- 16. UINavigationController viewController intra communication
- 17. UINavigationController, перекрывающий содержимое ViewController
- 18. Установить ориентацию программно, без активности-отдыха?
- 19. Выполнение методов ViewController из UINavigationController
- 20. Как отобразить второй модальный ViewController в UINavigationController программно
- 21. Подкласса ViewController из раскадровки
- 22. Как изменить кадр подкласса UIView на ориентацию устройства, который программно создан?
- 23. заблокировать ориентацию viewController в swift
- 24. Разматывание подкласса UIStoryboardSegue в UINavigationController
- 25. Настройка подкласса UINavigationBar в подклассе UINavigationController
- 26. Изменить ориентацию бумаги Window.print()
- 27. Как изменить вид моего viewController программно?
- 28. Навигация viewcontroller программно в swift
- 29. Как изменить ориентацию viewController, который не находится в раскадровке
- 30. UINavigationController толкает несколько одинаковых viewController
Какова ориентация VC на работу с UINavigationController? –
В моем понимании ... если я изменю ориентацию VC на NavigationController, я должен подклассифицировать NavigationController и переопределить 'supportedInterfaceOrientations' и' shouldAutorotate' – Aigori