---
title: "preferredLayoutAttributesFitting(_:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nscollectionviewelement/preferredlayoutattributesfitting(_:)"
---

# preferredLayoutAttributesFitting(_:)

Asks your element if it wants to modify any layout attributes before they are applied.

## Declaration

```swift
@MainActor optional func preferredLayoutAttributesFitting(_ layoutAttributes: NSCollectionViewLayoutAttributes) -> NSCollectionViewLayoutAttributes
```

## Parameters

- `layoutAttributes`: The attributes provided by the layout object. These attributes represent the values that the layout object intends to apply to the element.

## Return Value

Return Value The final attributes to apply to the element.

## Discussion

Discussion The default implementation of this method returns the same attributes that are in the layoutAttributes parameter. You can override this method in subclasses and use it to return a different set of attributes. If you override this method, call super first to give the system the opportunity to make changes, then modify the returned attributes. Special Considerations In OS X 10.11, this method is never called.

## See Also

### Managing Layout Changes

- [apply(_:)](appkit/nscollectionviewelement/apply(_:).md)
- [willTransition(from:to:)](appkit/nscollectionviewelement/willtransition(from:to:).md)
- [didTransition(from:to:)](appkit/nscollectionviewelement/didtransition(from:to:).md)
