Обзор табличного представления API
Интерфейс программирования табличного представления включает несколько классов UIKit, два формальных протокола и категорию, добавленную к классу платформы Основы.
Табличное представление
Само табличное представление является экземпляром UITableView
класс. Вы используете его методы для конфигурирования появления табличного представления — например, указывая высоту по умолчанию строк или обеспечивая подпредставление, используемое в качестве заголовка для таблицы. Другие методы предоставляют Вам доступ к в настоящее время выбираемой строке, а также определенным строкам или ячейкам. Можно вызвать другие методы UITableView
для управления выборами прокрутите табличное представление, и вставьте или удалите строки и разделы.
UITableView
наследовался от UIScrollView
класс, определяющий прокрутку поведения для представлений с содержанием, больше, чем размер окна. UITableView
переопределяет поведение прокрутки позволить вертикальную прокрутку только.
Контроллер табличного представления
UITableViewController
класс управляет табличным представлением и добавляет поддержку многих стандартных связанных с таблицей способов поведения, таких как управление выбором, редактирование строки, табличная конфигурация и другие. Эта дополнительная поддержка должна там минимизировать объем кода, который необходимо записать, чтобы создать и инициализировать основанный на таблице интерфейс. Вы не используете этот класс непосредственно — вместо этого Вы разделяете на подклассы UITableViewController
добавить пользовательские способы поведения.
Источник данных и делегат
A UITableView
объект должен иметь делегата и источник данных. После шаблона разработки Контроллера представления Модели источник данных посредничает между моделью данных приложения (т.е. ее объекты модели) и табличным представлением. Делегат, с другой стороны, управляет появлением и поведением табличного представления. Источник данных и делегат часто являются (но не обязательно) тем же объектом, и что объект обычно является пользовательским подклассом UITableViewController
. (См. Навигацию по Иерархии Данных с Табличными представлениями для получения дополнительной информации.)
Источник данных принимает UITableViewDataSource
протокол. UITableViewDataSource
имеет два требуемых метода. tableView:numberOfRowsInSection:
метод говорит табличному представлению сколько строк отображать в каждом разделе, и tableView:cellForRowAtIndexPath:
метод обеспечивает ячейку для отображения для каждой строки в таблице. Дополнительные методы позволяют источнику данных конфигурировать многократные разделы, обеспечивать заголовки и/или нижние колонтитулы, и добавление поддержки, удаление и переупорядочение строк в таблице.
Делегат принимает UITableViewDelegate
протокол. Этот протокол не имеет никаких требуемых методов. Это объявляет методы, позволяющие делегату изменять видимые аспекты табличного представления, управлять выборами, поддерживать вспомогательное представление и редактирование поддержки отдельных строк в таблице.
Приложение может использовать класс удобства UILocalizedIndexedCollation
чтобы помочь источнику данных организовать данные для индексируемых списков и вывести на экран надлежащий раздел когда, пользователи касаются элемента в индексе. UILocalizedIndexedCollation
класс также локализует заголовки раздела.
Расширение класса NSIndexPath
Много методов табличного представления используют индексные пути в качестве параметров или возвращаемых значений. Индексный путь идентифицирует путь к определенному узлу в дереве вложенных массивов, и в платформе Основы он представлен NSIndexPath
объект. UIKit объявляет категорию на NSIndexPath
с методами, которые соединяет каналом клавиша Return, найдите строки в разделах и конструкцию NSIndexPath
объекты от строки и индексов раздела. Для получения дополнительной информации посмотрите дополнения NSIndexPath UIKit.
Ячейки табличного представления
Как отмечено в Источнике данных и Делегате, источник данных должен возвратить объект ячейки для каждой видимой строки, которую выводит на экран табличное представление. Эти объекты ячейки должны наследоваться от UITableViewCell
класс. Этот класс включает методы для управления выбором ячейки и редактирования, управления представлениями аксессуара и конфигурирования ячейки. Можно инстанцировать ячеек непосредственно в стандартных стилях, определенных UITableViewCell
класс и дает этим ячейкам содержание, состоящее из одной или двух строк текста и, в некоторых стилях, обоих изображениях и тексте. Вместо того, чтобы использовать ячейку в стандартном стиле, можно поместить собственные подпредставления в представление содержания «стандартного» объекта ячейки. Можно также разделить на подклассы UITableViewCell
настроить появление и поведение ячеек табличного представления. Эти подходы все обсуждены в Более внимательном рассмотрении в Ячейках Табличного представления.