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