mirror of
https://github.com/material-components/material-components-ios.git
synced 2026-01-21 12:33:23 +08:00
This PR replaces API links containing "/api-docs/" with links to suitable header files in GitHub because the site previously linked to is being taken down and replaced with something that won't handle API docs. Closes https://github.com/material-components/material-components-ios/pull/10045 COPYBARA_INTEGRATE_REVIEW=https://github.com/material-components/material-components-ios/pull/10045 from andrewoverton:replace-mio-api-docs-with-github-links 0d6e56cc11d0c147366a4f6cde829d8b51567ecc PiperOrigin-RevId: 323424362
2.7 KiB
2.7 KiB
Collection Layout Attributes
Notice: This component will be deprecated over the next few months in favor of the Cards and List components. See our public tracker for more details on timing and the deprecation plan.
Allows passing layout attributes to the cells and supplementary views.
Design & API Documentation
Installation
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:
Swift
import MaterialComponents.MaterialCollectionLayoutAttributes
Objective-C
#import "MaterialCollectionLayoutAttributes.h"
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.
Swift
override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) {
super.apply(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)
}
}
}
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];
}
}
}