Лучший способ переключаться между UISplitViewController и другими контроллерами представления?

Я создаю приложение для iPad. Один из экранов в приложении идеально подходит для использования UISplitViewController. Однако верхний уровень приложения - это главное меню, для которого я не хочу использовать UISplitViewController. Это представляет проблему, поскольку Apple заявляет, что:

  1. UISplitViewController должен быть контроллером представления верхнего уровня в приложении, то есть его представление должно быть добавлено как подпредставление UIWindow

  2. , если оно используется, UISplitViewController должен присутствовать на протяжении всего жизненного цикла приложения - т.е. не удаляйте его представление из UIWindow и не вставляйте другое, или наоборот

Прочитав и поэкспериментировав, кажется, что это единственный жизнеспособный вариант для удовлетворить требования Apple, а наша собственная - использовать модальные диалоги. Таким образом, наше приложение имеет UISplitViewController на корневом уровне (то есть его представление добавлено как подпредставление UIWindow), и для отображения нашего главного меню мы помещаем его как полноэкранный модальный диалог в UISplitViewController. Затем, отклонив модальное диалоговое окно контроллера представления главного меню, мы можем фактически показать наше разделенное представление.

Эта стратегия, кажется, работает нормально. Но возникают вопросы:

1) Есть ли лучший способ структурировать это без модальных окон, который также отвечает всем упомянутым требованиям? Кажется немного странным, что основной пользовательский интерфейс отображается в виде модального диалогового окна. (Предполагается, что модальные окна предназначены для целенаправленных пользовательских задач.)

2) Могу ли я получить отказ магазина приложений из-за моего подхода? Эта модальная стратегия, вероятно, «неправильно использует» модальные диалоги в соответствии с рекомендациями Apple по интерфейсу пользователя. Но какой еще выбор они предоставили мне? Знают ли они, что я это делаю?

28
задан Bartłomiej Semańczyk 26 October 2015 в 08:39
поделиться