#ios #iphone #uitableview
#iOS #iPhone #UITableView
Вопрос:
Я пытаюсь реализовать пользовательский интерфейс, похожий на почтовое приложение iPhone.
- На главном экране отображается таблица. В таблице пользователь может выбрать ячейку, после чего запускается следующий экран. Внизу есть панель с коротким текстом и значком.
- На втором экране отображаются сведения о ячейке. Это также будет отображение таблицы. На нижней панели отображаются значки, связанные с этим экраном.
Какие макеты я использую для реализации этого в Xcode? 1. Должен ли я использовать контроллер представления, добавлять представление и встраивать в него табличный вид и панель инструментов? 2. Должен ли я использовать контроллер представления таблицы и добавлять в него представление таблицы и использовать нижнюю панель инструментов, которая поставляется с представлением таблицы?
В руководстве по программированию представления таблиц для iOS в разделе «Рекомендации по созданию и настройке табличных представлений» говорится: «Используйте экземпляр подкласса UITableViewController для создания табличного представления и управления им». Когда я использую это, нижняя панель может быть исправлена или исчезать только при переходе междудва экрана через segue. Это заставляет меня задуматься, должен ли я просто использовать контроллер представления, который противоречит рекомендации.
Ответ №1:
Используйте UIViewController
Почему?
Если вы собираетесь отображать больше, чем a tableView
, рекомендуется использовать a UIViewController
для раскадровки.
UIViewController
гораздо более гибкие. Я предполагаю, что ваша путаница связана со следующей строкой документации:
Используйте экземпляр подкласса UITableViewController для создания табличного представления и управления им
Это не означает, что вы должны перетаскивать a UITableViewController
на раскадровку. Это означает, что ваш класс должен наследовать UITableViewController
или, по крайней мере, реализовывать методы deleguate
and datasource
.
Вы бы использовали UITableViewController
только и только в том случае, если вам нужно отобразить tableView
.
Комментарии:
1. Я только что попробовал это, внедрив
UITableViewSource
иUITableViewDelegate
, и, похоже, это работает. Спасибо.