title layout section excerpt
Collection Layout Attributes detail components Allows passing layout attributes to the cells and supplementary views.

Collection Layout Attributes

Allows passing layout attributes to the cells and supplementary views.

API Documentation


Installation

Requirements

  • Xcode 7.0 or higher.
  • iOS SDK version 7.0 or higher.

Installation with CocoaPods

To add this component to your Xcode project using CocoaPods, add the following to your Podfile:

pod 'MaterialComponents/CollectionLayoutAttributes'

Then, run the following command:

pod install

Usage

Importing

Before using Collection Layout Attributes, you'll need to import it:

Objective-C

#import "MaterialCollectionLayoutAttributes.h"

Swift

import MaterialComponents.MaterialCollectionLayoutAttributes

The MDCCollectionViewLayoutAttributes class allows passing properties to a cell from a collection view layout. Override the -applyLayoutAttributes method of any UICollectionReusableView or UICollectionViewCell subclasses, then apply any of the properties of the attributes class.

Objective-C

- (void)applyLayoutAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes {
  [super applyLayoutAttributes:layoutAttributes];
  if ([layoutAttributes isKindOfClass:[MDCCollectionViewLayoutAttributes class]]) {
    MDCCollectionViewLayoutAttributes *attr = (MDCCollectionViewLayoutAttributes *)layoutAttributes;
    if (attr.representedElementCategory == UICollectionElementCategoryCell) {

      // Example to set a background image to the cell background view.
      self.backgroundView = [[UIImageView alloc] initWithImage:attr.backgroundImage];
    }
  }
}

Swift

override func applyLayoutAttributes(layoutAttributes: UICollectionViewLayoutAttributes) {
  super.applyLayoutAttributes(layoutAttributes)
  if let attr = layoutAttributes as? MDCCollectionViewLayoutAttributes {
    if (attr.representedElementCategory == .Cell) {

      // Example to set a background image to the cell background view.
      self.backgroundView = UIImageView(image: attr.backgroundImage)
    }
  }
}