Глава 5. Выстраивание сложных макетов с помощью сборных видов

Глава 5. Выстраивание сложных макетов с помощью сборных видов

5.0. Введение

Табличные виды очень хороши. Действительно. Тем не менее они отличаются удручающей негибкостью, так как их содержимое всегда ориентировано по вертикали. Это не настоящие таблицы-сетки, поэтому они и функционально не похожи на сетки. Однако программист может оказаться в ситуации, когда требуется отрисовать на экране таблицеподобный компонент со строками и столбцами, а затем поместить в каждую из ячеек различные элементы пользовательского интерфейса и каждый элемент сделать интерактивным. В табличном виде у вас фактически имеется всего один столбец с множеством строк. Если вы хотите создать иллюзию множества столбцов, то придется предоставить собственную специальную ячейку и оформить ее так, как будто она состоит из нескольких столбцов.

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

Именно поэтому в 6-й версии iOS компания Apple впервые внедрила сборные виды. Сборный вид можно сравнить с сильно усовершенствованным прокручиваемым видом. У него есть источник данных и делегат, как и у табличного вида. Но он обладает одним свойством, делающим его совершенно несхожим с табличным или прокручиваемым видами. Речь идет о макетном объекте.

В сущности, макетный объект вычисляет, где должен быть размещен каждый элемент, входящий в состав сборного вида. Однако Apple немного усложнила такую работу, внедрив конкретный класс для работы со сборными видами, причем этот класс нельзя инстанцировать напрямую. Вместо этого придется инстанцировать подкласс от этого класса, называемый UICollectionViewFlowLayout.

Этот подкласс обеспечивает последовательную компоновку, при которой ячейки из сборного вида распределяются на экране по секциям. Каждая секция — это группа ячеек сборного вида, так же как в табличном виде. Однако в сборном виде любая секция может компоноваться на экране разными способами, не обязательно вертикально. Например, у вас может быть три прямоугольника, в каждом из которых содержится своя маленькая таблица (рис. 5.1).

Рис. 5.1. Типичный макет с последовательной компоновкой в сборном виде

Как правило, секции располагаются на экране в виде таблиц, то есть образуя строки и столбцы. Именно эта задача решается с помощью класса последовательной компоновки. Если вы хотите добиться еще большей свободы действий при компоновке, то попробуйте изменить свойства класса последовательной компоновки. А если желаете сделать нечто, значительно отличающееся от стандартных возможностей последовательной компоновки, создайте для этого собственный класс. Например, такой специальный класс вам потребуется для создания сборного вида, который показан на рис. 5.2. Далее приведен специальный класс компоновки, располагающий соответствующие ячейки совсем не по табличному принципу.

Рис. 5.2. Специальный вариант компоновки для сборного вида

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Выстраивание доверия

Из книги автора

Выстраивание доверия Нам необходим бесплатный материал, который мы раздаем на собственном сайте, чтобы строить свою базу подписчиков. Некий обучающий или видеоурок на конкретную тему, интересующую многих людей в Сети. Раздаем материал бесплатно!В следующих


Глава 10 Построение сложных объектов

Из книги автора

Глава 10 Построение сложных объектов Текстовые стили С каждой текстовой надписью в AutoCAD связан некоторый текстовый стиль. При нанесении надписей используется текущий стиль, в котором заданы шрифт, высота, угол поворота, ориентация и другие параметры. В одном рисунке


Глава 20 Определение трехмерных видов

Из книги автора

Глава 20 Определение трехмерных видов Использование AutoCAD для создания трехмерных моделей и их изображений имеет множество преимуществ по сравнению с применением программы в двумерном моделировании, но вместе с тем требует несколько иного подхода. Работа в трехмерном


1.27. Представление видов «Основной — детали» с помощью UISplitViewController

Из книги автора

1.27. Представление видов «Основной — детали» с помощью UISplitViewController Постановка задачи Необходимо максимально эффективно использовать большой экран iPad, представив на нем два расположенных рядом контроллера


5.5. Заполнение сборных видов специальными ячейками с помощью XIB-файлов

Из книги автора

5.5. Заполнение сборных видов специальными ячейками с помощью XIB-файлов Постановка задачи Требуется сконфигурировать ячейки сборного вида в конструкторе интерфейса и заполнить ими сборный вид для последующего


5.9. Представление контекстных меню в ячейках сборных видов

Из книги автора

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


Глава 20 Определение трехмерных видов

Из книги автора

Глава 20 Определение трехмерных видов Использование AutoCAD для создания трехмерных моделей и их изображений имеет множество преимуществ по сравнению с применением программы в двумерном моделировании, но вместе с тем требует несколько иного подхода. Работа в трехмерном


Глава 10 Построение сложных объектов

Из книги автора

Глава 10 Построение сложных объектов Текстовые стили Однострочный текст Многострочный текст Блок Создание блока Вставка блока Разбиение блока Динамический блок Редактор блоков Палитры вариаций блоков Атрибуты блока Таблицы


Глава 22 Определение трехмерных видов

Из книги автора

Глава 22 Определение трехмерных видов Установка направления взгляда Установка вида в плане Установка ортогональных и аксонометрических видов Интерактивное управление точкой взгляда Свободная орбита Динамическое вращение трехмерной модели Регулировка расстояния


Конструирование макетов

Из книги автора

Конструирование макетов Данный режим служит для построения макетов корпусной мебели (обычных кухонных шкафов).Выберите в раскрывающемся списке Раздел пункт Конструирование макетов и нажмите кнопку ОК – откроется соответствующее окно (рис. 7.2). Рис. 7.2. Окно


Глава 9 Построение сложных объектов

Из книги автора

Глава 9 Построение сложных объектов Текстовые стили С каждой текстовой надписью в AutoCAD связан некоторый текстовый стиль. При нанесении надписей используется текущий стиль, в котором заданы шрифт, высота, угол поворота, ориентация и другие параметры. В одном рисунке можно


Глава 15 Определение трехмерных видов

Из книги автора

Глава 15 Определение трехмерных видов Использование AutoCAD для создания трехмерных моделей и их изображений имеет множество преимуществ по сравнению с применением программы в двумерном моделировании, но вместе с тем требует несколько иного подхода. Работа в трехмерном