Я создаю свое первое приложение для iOS с использованием Xcode 9.3 и Swift 4.1.
В основном мое приложение представляет собой View Controller, который содержит табличное представление и встроен в Navigation Controller.Когда я нажимаю на ячейку в табличном представлении, приложение переходит к подчиненному контроллеру представления.Поскольку я использую контроллер Naviagtion, в подчиненном представлении уже есть панель навигации вверху с полезной кнопкой, возвращающей его родителю.
Я также хочу открыть экран настроек, когда пользователь нажимает «Настройки»кнопка на панели навигации.Использование нового View Controller в качестве заполнителя для экрана «Настройки» работает - я могу открыть экран «Настройки» с помощью модального перехода, и на экране может быть кнопка или элемент навигации, чтобы развернуть переход к моему первоначальному виду.
Все работает, и все хорошо.
Однако я хочу построить свой экран настроек с использованием табличного представления со статическими ячейками.Мне просто нужна пара групп ячеек с различными элементами управления, где пользователь может установить свои предпочтения.Чтобы Xcode поддерживал статические ячейки, я должен использовать Table View Controller как основу для моего экрана настроек.Вот где возникают проблемы.
С контроллером табличного представления я больше не могу размещать кнопку или элемент навигации на экране, чтобы вызвать переход к следующему этапу.
Iможет сделать переход «Показать», чтобы он стал частью иерархии навигации, навязанной контроллером навигации.Это обеспечивает навигационную панель на экране «Мои настройки» с элементом навигации, который возвращается к исходному View Controller.
Но это не то, что я хочу.С точки зрения UX страница настроек теперь является подчиненной страницей в иерархии.Я действительно хочу, чтобы страница «Настройки» отображалась модально с горизонтальным переворотом, чтобы она выглядела как отдельный экран в приложении.
Поэтому мой вопрос: как я могу добавить необходимые виджеты пользовательского интерфейса в таблицу?View Controller, чтобы я мог запустить процесс раскрутки?Или я пропускаю что-то более фундаментальное в архитектуре моего приложения?Для меня это кажется довольно очевидным подходом к включению экрана настроек, но после нескольких часов поиска я не могу найти случаев, когда кто-то еще сталкивался с этой проблемой.Также я не могу найти учебники или примеры того, как реализовать экран настроек в приложении.