У меня есть большое приложение, над которым я работаю, которое имеет основное представление, называемое корневым представлением, с панелью инструментов вверху для управления программой. Существует ряд дополнительных представлений, которые накладываются на «корневой» вид, но оставляют видимой панель инструментов. Существует всплывающее меню, которое управляет тем, какой подвид отображается над «корневым» видом. Обратите внимание, я не использую контроллер splitview.
Чтобы сэкономить ресурсы, я инициализирую различные подвиды, когда их функция выбирается из меню в первый раз. Все подвиды были разработаны в IB. Когда ipad находится в портретном режиме при первом выборе подменю, все функции автоповорота работают очень хорошо, однако, когда ipad находится в горизонтальной ориентации, когда приложение запускается впервые и подпрограммы запускаются впервые, они не поворачиваются и не отображаются в обрезанный портретный режим. Похоже, они не знают, что iPad повернут.
Если я инициализирую все вложенные представления из «корневого» метода viewDidLoad, все они будут вращаться правильно, независимо от того, в какой ориентации находится ipad при запуске. Так что, если я инициализирую подпредставления до того, как «корневое» представление станет видимым, тогда все будет хорошо. Если я инициализировал их после того, как «корневое» представление стало видимым, дочерние представления не будут автоматически поворачиваться.
Поскольку здесь задействовано много кода, я надеюсь, что объяснил это достаточно ясно, чтобы кто-то с большим опытом или проницательностью мог направить меня на правильный путь.
Спасибо, Джим