Как добавить элемент навигации в контроллер табличного представления (со статическими ячейками) в Xcode Interface Builder? - PullRequest
0 голосов
/ 17 мая 2018

Я создаю свое первое приложение для iOS с использованием Xcode 9.3 и Swift 4.1.

В основном мое приложение представляет собой View Controller, который содержит табличное представление и встроен в Navigation Controller.Когда я нажимаю на ячейку в табличном представлении, приложение переходит к подчиненному контроллеру представления.Поскольку я использую контроллер Naviagtion, в подчиненном представлении уже есть панель навигации вверху с полезной кнопкой, возвращающей его родителю.

Я также хочу открыть экран настроек, когда пользователь нажимает «Настройки»кнопка на панели навигации.Использование нового View Controller в качестве заполнителя для экрана «Настройки» работает - я могу открыть экран «Настройки» с помощью модального перехода, и на экране может быть кнопка или элемент навигации, чтобы развернуть переход к моему первоначальному виду.

Все работает, и все хорошо.

Однако я хочу построить свой экран настроек с использованием табличного представления со статическими ячейками.Мне просто нужна пара групп ячеек с различными элементами управления, где пользователь может установить свои предпочтения.Чтобы Xcode поддерживал статические ячейки, я должен использовать Table View Controller как основу для моего экрана настроек.Вот где возникают проблемы.

С контроллером табличного представления я больше не могу размещать кнопку или элемент навигации на экране, чтобы вызвать переход к следующему этапу.

Iможет сделать переход «Показать», чтобы он стал частью иерархии навигации, навязанной контроллером навигации.Это обеспечивает навигационную панель на экране «Мои настройки» с элементом навигации, который возвращается к исходному View Controller.

Но это не то, что я хочу.С точки зрения UX страница настроек теперь является подчиненной страницей в иерархии.Я действительно хочу, чтобы страница «Настройки» отображалась модально с горизонтальным переворотом, чтобы она выглядела как отдельный экран в приложении.

Поэтому мой вопрос: как я могу добавить необходимые виджеты пользовательского интерфейса в таблицу?View Controller, чтобы я мог запустить процесс раскрутки?Или я пропускаю что-то более фундаментальное в архитектуре моего приложения?Для меня это кажется довольно очевидным подходом к включению экрана настроек, но после нескольких часов поиска я не могу найти случаев, когда кто-то еще сталкивался с этой проблемой.Также я не могу найти учебники или примеры того, как реализовать экран настроек в приложении.

1 Ответ

0 голосов
/ 17 мая 2018

Я не уверен, правильно ли я понял вашу проблему. Я думаю, что вы хотите добавить несколько кнопок в UITableViewController. Для этого вот мое решение. Встраивание UITableViewController в UINavigationController будет работать для вас. При нажатии на кнопку «Настройки» присутствует навигационный контроллер модально. Поскольку у контроллера навигации есть контроллер табличного представления как корневой контроллер представления, у tableviewcontroller будет панель навигации. Вы можете добавить свои кнопки к нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...