Я создаю приложение для iPad. Один из экранов в приложении идеально подходит для использования UISplitViewController. Однако верхний уровень приложения - это главное меню, для которого я не хочу использовать UISplitViewController. Это представляет проблему, поскольку Apple заявляет, что:
UISplitViewController
должен быть контроллером представления верхнего уровня в приложении, то есть его представление должно быть добавлено как подпредставление UIWindow
, если оно используется, UISplitViewController
должен присутствовать на протяжении всего жизненного цикла приложения - т.е. не удаляйте его представление из UIWindow и не вставляйте другое, или наоборот
Прочитав и поэкспериментировав, кажется, что это единственный жизнеспособный вариант для удовлетворить требования Apple, а наша собственная - использовать модальные диалоги. Таким образом, наше приложение имеет UISplitViewController на корневом уровне (то есть его представление добавлено как подпредставление UIWindow), и для отображения нашего главного меню мы помещаем его как полноэкранный модальный диалог в UISplitViewController. Затем, отклонив модальное диалоговое окно контроллера представления главного меню, мы можем фактически показать наше разделенное представление.
Эта стратегия, кажется, работает нормально. Но возникают вопросы:
1) Есть ли лучший способ структурировать это без модальных окон, который также отвечает всем упомянутым требованиям? Кажется немного странным, что основной пользовательский интерфейс отображается в виде модального диалогового окна. (Предполагается, что модальные окна предназначены для целенаправленных пользовательских задач.)
2) Могу ли я получить отказ магазина приложений из-за моего подхода? Эта модальная стратегия, вероятно, «неправильно использует» модальные диалоги в соответствии с рекомендациями Apple по интерфейсу пользователя. Но какой еще выбор они предоставили мне? Знают ли они, что я это делаю?