---
title: layoutIfNeeded()
framework: quartzcore
role: symbol
role_heading: Instance Method
path: quartzcore/calayer/layoutifneeded()
---

# layoutIfNeeded()

Recalculate the receiver’s layout, if required.

## Declaration

```swift
func layoutIfNeeded()
```

## Discussion

Discussion When this message is received, the layer’s super layers are traversed until a ancestor layer is found that does not require layout. Then layout is performed on the entire layer-tree beneath that ancestor.

## See Also

### Managing layer resizing and layout

- [layoutManager](quartzcore/calayer/layoutmanager.md)
- [setNeedsLayout()](quartzcore/calayer/setneedslayout().md)
- [layoutSublayers()](quartzcore/calayer/layoutsublayers().md)
- [needsLayout()](quartzcore/calayer/needslayout().md)
- [autoresizingMask](quartzcore/calayer/autoresizingmask.md)
- [resize(withOldSuperlayerSize:)](quartzcore/calayer/resize(witholdsuperlayersize:).md)
- [resizeSublayers(withOldSize:)](quartzcore/calayer/resizesublayers(witholdsize:).md)
- [preferredFrameSize()](quartzcore/calayer/preferredframesize().md)
