Табличные представления
Табличное представление представляет данные в прокручиваемом списке многократных строк, которые могут быть разделены на разделы. Это представляет данные в списке отдельного столбца многократных строк и является средними значениями для отображения и редактирования иерархических списков информации. Например, Почтовое приложение использует табличное представление для отображения электронных писем в ящике входящих сообщений пользователя. В нормальном режиме, выбирая сообщение позволяет пользователю читать его. В режиме редактирования, выбирая сообщение позволяет пользователю удалять его из ящика входящих сообщений. Табличные представления обеспечивают простой все же универсальный интерфейс для управления и взаимодействия с наборами данных.
Цель. Табличные представления позволяют пользователям:
Перейдите через иерархически структурированные данные
Просмотрите индексируемый список элементов
Посмотрите подробную информацию и средства управления в визуально отличных группировках
Взаимодействуйте с выбираемым списком опций
Реализация.
Табличные представления реализованы в
UITableView
класс и обсудил в Ссылке класса UITableView.Отдельные ячейки таблицы реализованы в
UITableViewCell
класс и обсудил в Ссылке класса UITableViewCell.Табличные заголовки и нижние колонтитулы реализованы в
UITableViewHeaderFooterView
класс и обсудил в Ссылке класса UITableViewHeaderFooterView.
Конфигурация. Сконфигурируйте табличные представления в Интерфейсном Разработчике в разделе Table View Инспектора Атрибутов. Несколько конфигураций не могут быть сделаны через Инспектора Атрибутов, таким образом, необходимо сделать их программно. Также, если Вы предпочитаете, можно установить другие конфигурации программно.
Содержание табличных представлений
Для отображения содержания табличное представление должно иметь источник данных. Источник данных посредничает между моделью данных приложения и табличным представлением. Источник данных табличного представления должен соответствовать UITableViewDataSource
протокол. Для получения дополнительной информации об источнике данных, посмотрите Источник данных и Делегата.
Каждая отдельная ячейка таблицы может вывести на экран множество содержания. Ячейки, использующие основной стиль по умолчанию, могут вывести на экран изображение и текстовую метку, и ячейки, использующие один из других трех стандартных стилей, могут вывести на экран изображение, текстовую метку, и детализировать текстовую метку в определенном предопределенном расположении. Можно установить изображение ячейки программно с помощью «Изображения» (изображение) поле в Инспекторе Атрибутов, появляющемся, когда ячейка находится в одном из этих четырех стандартных стилей. Однако необходимо установить textLabel
и detailTextLabel
свойства программно. Для узнавания больше о содержании ячейки таблицы посмотрите Более внимательное рассмотрение в Ячейках Табличного представления.
Содержание ячейки — изображение, текст и любые пользовательские представления — находятся в довольном представление. Если Вы хотите настроить свою ячейку таблицы вне стилей стандартной ячейки, можно установить стиль ячеек в пользовательский и добавить пользовательские представления к ячейке contentView
свойство программно.
Каждая таблица — и каждый раздел в той таблице — могут иметь заголовок и нижний колонтитул, выводящий на экран текст или пользовательское содержание. Вы используете заголовки и нижние колонтитулы для отображения дополнительной информации о таблице или ее разделах. UITableViewHeaderFooterView
класс реализует допускающее повторное использование представление, что можно поместить наверху или нижняя часть табличного раздела или таблицы.
Заголовки и нижние колонтитулы могут или вывести на экран текстовую метку и дополнительную подробную текстовую метку или пользовательское содержание. Можно установить textLabel
и detailTextLabel
свойства программно. Также можно добавить пользовательские представления к заголовку или нижний колонтитул contentView
свойство программно. При использовании какого-либо пользовательского содержания в заголовке или нижнем колонтитуле не используйте стандарт textLabel
и detailTextLabel
свойства; вместо этого, добавьте Ваш владеть марками к довольному представление. Для получения дополнительной информации о заголовках и нижних колонтитулах, посмотрите Сгруппированные Табличные представления и Ссылку класса UITableViewHeaderFooterView.
Поведение табличных представлений
Для табличных представлений нужен делегат в, управляет появлением и поведением. Путем присвоения контроллера представления как делегата табличного представления и реализации любого из UITableViewDelegate
методы, можно позволить делегату управлять выборами, конфигурировать заголовки раздела и нижние колонтитулы, помогать удалить и переупорядочить ячейки и выполнить другие действия.
Табличный стиль выбора управляет числом ячеек, которые пользователь может выбрать в установленный срок. Существует три типа выбора, доступного для отдельных ячеек в табличном представлении: единственный, многократный, или ни один. Таблицы могут иметь различные типы выбора в нормальном режиме и режиме редактирования. Например, можно позволить пользователям выбирать многократные элементы в нормальном режиме, но только удалять один элемент за один раз в режиме редактирования. В Интерфейсном Разработчике можно указать стиль выбора для нормального режима с помощью поля Selection, и для режима редактирования с помощью поля Editing. Можно также выбрать, выделяется ли ячейка визуально после выбора путем установки флажка Show Selection on Touch.
Индексный предел строки (sectionIndexMinimumDisplayRowCount
) позволяет Вам указывать минимальное число строк, требуемых в таблице для индекса быть показанными. Обратите внимание на то, что это применяется к таблицам стандартного стиля только.
Идентификатор повторного использования является строкой, используемой для идентификации ячейки, которая может быть снова использована для многократных строк табличного представления (в целях производительности). Можно установить это свойство с помощью Идентификатора (reuseIdentifier
) поле в Инспекторе Атрибутов. Можно также установить идентификатор повторного использования программно во время инициализации ячейки.
Можно установить значения добавления отступа для содержания ячейки через Уровень (indentationLevel
) и Ширина (indentationWidth
) поля. Ширина является значением для каждого уровня добавления отступа. Можно указать ли к содержанию ячейки отступа в режиме редактирования путем проверки Отступа При Редактировании (shouldIndentWhileEditing
) поле.
Проверка средств управления переупорядочивания шоу (showsReorderControl
) поле заставит ячейку отображать управление, позволяющее ему быть переупорядоченным в таблице в режиме редактирования. Однако необходимо также реализовать UITableViewDataSource
метод tableView:moveRowAtIndexPath:toIndexPath:
и набор tableView:canMoveRowAtIndexPath:
возвратиться YES
true
получить контроль переупорядочением для появления в определенной ячейке. Эта часть должна быть сделана программно.
Для создания табличного представления, знающего о заголовке или представлении нижнего колонтитула, необходимо зарегистрировать его. Вы делаете это использование registerNib:forCellReuseIdentifier:
или registerClass:forCellReuseIdentifier:
метод. Подобный той из ячейки таблицы, заголовка или идентификатора повторного использования нижнего колонтитула строка, используемая для идентификации заголовка или представления нижнего колонтитула, которое может быть снова использовано для многократных заголовков или нижних колонтитулов в таблице. Это установлено во время инициализации с помощью initWithReuseIdentifier:
метод.
Появление табличных представлений
Можно настроить появление табличного представления путем установки свойств, изображенных ниже.
Для настройки появления всех табличных представлений в приложении используйте прокси появления (например, [UITableView appearance]
). Для получения дополнительной информации о прокси появления, посмотрите Прокси Появления.
Стиль
Стиль разделителя диктует, как ячейки таблицы разделяются визуально. Можно настроить стиль и цвет разделителей ячейки таблицы с помощью Разделителя (separatorStyle
, separatorColor
) поля в Инспекторе Атрибутов. Существует три доступных стиля: одна строка, вытравленная строка или ни один.
Стиль таблицы влияет на появление разделов таблицы. Таблицы имеют два стиля: плоскость и сгруппированный. Когда табличное представление выведено на экран в одном определенном стиле, определенные свойства появления только применяются. Можно выбрать стиль таблицы, чтобы быть простым или сгруппированным использованием Стиля (style
) атрибут.
Стиль выбора ячейки
Стиль выбора ячейки указывает, какой цвет схема выбранной ячейки появится: серый, синий, или ни один. Используйте Выбор (selectionStyle
) поле для установки стиля выбора ячейки.
Типы аксессуара
Можно также установить типы аксессуара для нормальных и режимов редактирования через Аксессуар (accessoryType
) и редактирование Acc. (editingAccessoryType
) поля в Инспекторе Атрибутов. Для списка стандартных типов аксессуара посмотрите Cell Accessory Type
.
Также можно использовать пользовательские представления путем установки accessoryView
и editingAccessoryView
свойства программно. Пользовательские представления имеют приоритет по стандартным типам аксессуара, поэтому при установке вспомогательного свойства представления ячейка игнорирует значение accessoryType
и editingAccessoryType
свойства.
Расположение ячейки
Атрибут стиля ячеек определяет, как содержание визуально размечается в ячейке. Можно выбрать один из четырех существующих стилей — или создать пользовательский — в поле Style Инспектора Атрибутов ячейки таблицы.
Заголовок и появление нижнего колонтитула
Можно настроить появление заголовка или нижнего колонтитула путем установки пользовательского фонового представления или окрасить цвет. Фоновое представление помещается позади contentView
и используемый для отображения статического фонового содержания позади заголовка или нижнего колонтитула. Например, Вы могли бы присвоить представление изображения этому свойству и использовать его для отображения пользовательского фонового изображения. Также можно установить пользовательский оттенок для заголовка или представления нижнего колонтитула путем установки tintColor
свойство. Избегите устанавливать и пользовательское фоновое представление и пользовательский оттенок.
Используя автоматическое расположение с табличными представлениями
Можно создать Автоматические Ограничения макета между табличным представлением и другими элементами пользовательского интерфейса. Можно создать любой тип ограничения для табличного представления помимо ограничения базовой линии.
Для получения общей информации об использовании Автоматического Расположения с представлениями iOS, посмотрите Используя Автоматическое Расположение с Представлениями.
Создание доступных табличных представлений
Табличные представления доступны по умолчанию. Доступность для таблиц обрабатывается на уровне ячейки таблицы.
Для получения общей информации о создании доступных представлений iOS, посмотрите Доступные Представления Создания.
Интернационализация табличных представлений
Для интернационализации табличного представления необходимо обеспечить локализованные строки для текстовых меток и подробных текстовых меток всех ячеек таблицы, заголовков и нижних колонтитулов.
Для получения дополнительной информации посмотрите Руководство по Интернационализации и Локализации.
Элементы, подобные табличному представлению
Следующий элемент обеспечивает схожую функциональность для табличного представления:
Прокрутите Представление. Класс, предоставляющий поддержку для отображения содержания, которое больше, чем размер окна приложения. Используйте этот класс, когда Ваше приложение будет содержать слишком много информации для отображения на экране устройства на iOS когда-то. Для получения дополнительной информации посмотрите Представления Прокрутки.