Попытка сделать приложение на основе раскадровки для iPad. В нем мне нужно перейти с экрана запуска (UIViewController) на главный экран (UISplitViewController), а затем в полноэкранный режим (снова UIViewController).
Я видел несколько обсуждений в Интернете (по крайней мере несколько - в stackoverflow), заявляя, что UISplitViewController не может использоваться в приложении на основе раскадровки любым другим способом, чем RootViewController. Некоторые потоки содержат обходные пути, а также альтернативный splitview (https://github.com/mattgemmell/MGSplitViewController), чтобы справиться с этим.
Но я не могу понять, почему Apple документация говорит об обратном. Вот ссылка в раздел из библиотеки Apple iOS 5.0. В нем указано:
Создание контроллера Split View с помощью раскадровки
Чтобы добавить контроллер разделенного представления в раскладку приложений:
- Откройте основную раскладку приложений.
- Перетащите контроллер разделенного представления из библиотеки. Это также создает контроллеры представлений для двух панелей контроллера разделенного вида.
- Для каждого из контроллеров разделенных представлений, содержащих контроллеры представлений, используйте инспектор удостоверений для установки имени класса контроллера представления.
Чтобы представить интерфейс разделенного вида, выполните одно из следующих действий:
- Покажите это как первую сцену, выбрав сцену и проверив поле "Исходный контроллер просмотра" под инспектором атрибутов.
- Отобразить его с другой сцены, добавив к нему модальный переход.
- Отобразить его программно, вызывая метод executeSegueWithIdentifier: sender: метод для начала модального сегмента.
Я пробовал это разными способами, но подходы, описанные в последних двух утверждениях, никогда не работали. Как модальный сегмент, так и performSegue... сбой с известной ошибкой:
"*** Завершение приложения из-за неперехваченного исключения" NSInvalidArgumentException ", причина:" Приложение попыталось представить контроллеры с разделенным представлением по модулю... "
Кто-нибудь может это объяснить? Это ошибка в XCODE/iOS 5.0 или ошибка в документации?
С уважением, Petr