UICollectionViewFlowLayout
Наследование
-
NSObject
-
UICollectionViewLayout
-
UICollectionViewFlowLayout
-
NSObject
-
UICollectionViewLayout
-
UICollectionViewFlowLayout
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSObject
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 6.0 и позже.
UICollectionViewFlowLayout
класс является конкретным объектом расположения, организующим элементы в сетку с дополнительным заголовком и представлениями нижнего колонтитула для каждого раздела. Элементы в представлении набора вытекают из одной строки или столбца (в зависимости от направления прокрутки) к следующему с каждой строкой, включающей столько ячеек, сколько будет соответствовать. Ячейки могут быть теми же размерами или различными размерами.
Перетекающий макет работает с делегатом представления набора объект определить размер элементов, заголовков и нижних колонтитулов в каждом разделе и сетке. Тот объект делегата должен соответствовать UICollectionViewDelegateFlowLayout
протокол. Использование делегата позволяет Вам корректировать информацию макета динамично. Например, необходимо было бы использовать объект делегата указать различные размеры для элементов в сетке. Если Вы не предоставляете делегату, перетекающий макет использует значения по умолчанию, Вы устанавливаете использование свойств этого класса.
Перетекающие макеты размечают свое содержание с помощью фиксированного расстояния в одном направлении и расстояния с возможностью прокрутки в другом. Например, в то время как высота содержания корректируется динамично для соответствия числа разделов и элементов в сетке, в вертикально прокручивающей сетке ширина содержания сетки ограничивается к ширине соответствующего представления набора. Расположение сконфигурировано для прокрутки вертикально по умолчанию, но можно сконфигурировать направление прокрутки с помощью scrollDirection
свойство.
Каждый раздел в перетекающем макете может иметь свой собственный заголовок и нижний колонтитул. Для конфигурирования заголовка или нижнего колонтитула для представления необходимо сконфигурировать размер заголовка или нижнего колонтитула, чтобы быть не нулем. Можно сделать это путем реализации надлежащих методов делегата или путем присвоения надлежащих значений headerReferenceSize
и footerReferenceSize
свойства. Если размер заголовка или нижнего колонтитула 0, соответствующее представление не добавляется к представлению набора.
-
scrollDirection
СвойствоНаправление прокрутки сетки.
Объявление
Swift
var scrollDirection: UICollectionViewScrollDirection
Objective C
@property(nonatomic) UICollectionViewScrollDirection scrollDirection
Обсуждение
Расположение сетки прокручивает вдоль одной оси только, или горизонтально или вертикально. Для не оси прокрутки ширина представления набора в той размерности служит стартовой шириной содержания.
Значение по умолчанию этого свойства
UICollectionViewScrollDirectionVertical
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
minimumLineSpacing
СвойствоИнтервал минимума для использования между строками элементов в сетке.
Объявление
Swift
var minimumLineSpacing: CGFloat
Objective C
@property(nonatomic) CGFloat minimumLineSpacing
Обсуждение
Если объект делегата не реализует
collectionView:layout:minimumLineSpacingForSectionAtIndex:
метод, перетекающий макет использует значение в этом свойстве для установки интервала между строками в разделе.Для вертикально прокручивающей сетки это значение представляет минимальный интервал между последовательными строками. Для горизонтально прокручивающей сетки это значение представляет минимальный интервал между последовательными столбцами. Этот интервал не применяется к пространству между заголовком и первой строкой или между последней строкой и нижним колонтитулом.
Значение по умолчанию этого свойства 10.0.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
minimumInteritemSpacing
СвойствоИнтервал минимума для использования между элементами в той же строке.
Объявление
Swift
var minimumInteritemSpacing: CGFloat
Objective C
@property(nonatomic) CGFloat minimumInteritemSpacing
Обсуждение
Если объект делегата не реализует
collectionView:layout:minimumInteritemSpacingForSectionAtIndex:
метод, перетекающий макет использует значение в этом свойстве для установки интервала между элементами в той же строке.Для вертикально прокручивающей сетки это значение представляет минимальный интервал между элементами в той же строке. Для горизонтально прокручивающей сетки это значение представляет минимальный интервал между элементами в том же столбце. Этот интервал используется для вычислений, сколько элементов может поместиться в одну строку, но после того, как число элементов определяется, фактический интервал может возможно быть скорректирован вверх.
Значение по умолчанию этого свойства 10.0.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
itemSize
СвойствоРазмер по умолчанию для использования для ячеек.
Обсуждение
Если делегат не реализует
collectionView:layout:sizeForItemAtIndexPath:
метод, перетекающий макет использует значение в этом свойстве для установки размера каждой ячейки. Это приводит к ячейкам, что у всех есть тот же размер.Значение размера по умолчанию (50.0, 50.0).
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
estimatedItemSize
СвойствоПредполагаемый размер ячеек в представлении набора.
Объявление
Swift
var estimatedItemSize: CGSize
Objective C
@property(nonatomic) CGSize estimatedItemSize
Обсуждение
Когда ячейки корректируют свой размер динамично, обеспечение предполагаемого размера ячейки может улучшить производительность представления набора. Указание оценочного значения позволяет набору просмотреть, задерживают некоторые вычисления, должен был определить фактический размер его содержания. В частности ячейки, которые не являются экранными, как предполагается, являются предполагаемой высотой.
Значение по умолчанию этого свойства
CGSizeZero
. Установка его к любому другому значению заставляет представление набора запрашивать каждую ячейку для своего фактического размера с помощью ячейкиpreferredLayoutAttributesFittingAttributes:
метод. Если все Ваши ячейки являются той же высотой, используйтеitemSize
свойство, вместо этого свойства, для указания размера ячейки вместо этого.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 8.0 и позже.
-
sectionInset
СвойствоПоля раньше размечали содержание в разделе
Объявление
Swift
var sectionInset: UIEdgeInsets
Objective C
@property(nonatomic) UIEdgeInsets sectionInset
Обсуждение
Если объект делегата не реализует
collectionView:layout:insetForSectionAtIndex:
метод, перетекающий макет использует значение в этом свойстве для установки полей для каждого раздела.Вставки раздела отражают интервал во внешних краях раздела. Поля влияют на начальную позицию представления заголовка, минимального пространства по обе стороны от каждой строки элементов и расстояния от последней строки до представления нижнего колонтитула. Граничные вставки не влияют на размер заголовка и представлений нижнего колонтитула в не направлении прокрутки.
Граничные вставки по умолчанию все установлены в 0.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
headerReferenceSize
СвойствоРазмеры по умолчанию для использования для заголовков раздела.
Объявление
Swift
var headerReferenceSize: CGSize
Objective C
@property(nonatomic) CGSize headerReferenceSize
Обсуждение
Если делегат не реализует
collectionView:layout:referenceSizeForHeaderInSection:
метод, объект перетекающего макета использует набор размеров заголовка по умолчанию в этом свойстве.Во время расположения только используется размер, соответствующий надлежащему направлению прокрутки. Например, для направления вертикальной прокрутки, объект расположения использует значение высоты, возвращенное Вашим методом. (В том экземпляре ширина заголовка была бы установлена в ширину представления набора.), Если размер в надлежащей размерности прокрутки 0, никакой заголовок не добавляется.
Значения размера по умолчанию (0, 0).
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
footerReferenceSize
СвойствоРазмеры по умолчанию для использования для нижних колонтитулов раздела.
Объявление
Swift
var footerReferenceSize: CGSize
Objective C
@property(nonatomic) CGSize footerReferenceSize
Обсуждение
Если делегат не реализует
collectionView:layout:referenceSizeForFooterInSection:
метод, объект перетекающего макета использует набор размеров нижнего колонтитула по умолчанию для этого свойства.Во время расположения только используется размер, соответствующий надлежащему направлению прокрутки. Например, для направления вертикальной прокрутки, объект расположения использует значение высоты, указанное этим свойством. (В том экземпляре ширина нижнего колонтитула была бы установлена в ширину представления набора.), Если размер в надлежащей размерности прокрутки 0, никакой нижний колонтитул не добавляется.
Значения размера по умолчанию (0, 0).
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
См. также
-
Константы, указывающие направление прокрутки для расположения.
Объявление
Swift
enum UICollectionViewScrollDirection : Int { case Vertical case Horizontal }
Objective C
enum { UICollectionViewScrollDirectionVertical, UICollectionViewScrollDirectionHorizontal }; typedef NSUInteger UICollectionViewScrollDirection;
Константы
-
Vertical
UICollectionViewScrollDirectionVertical
Расположение прокручивает содержание вертикально.
Доступный в iOS 6.0 и позже.
-
Horizontal
UICollectionViewScrollDirectionHorizontal
Расположение прокручивает содержание горизонтально.
Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
-
Константы, указывающие типы дополнительных представлений, которые могут быть представлены с помощью перетекающего макета.
Объявление
Swift
let UICollectionElementKindSectionHeader: String let UICollectionElementKindSectionFooter: String
Objective C
NSString *const UICollectionElementKindSectionHeader; NSString *const UICollectionElementKindSectionFooter;
Константы