---
title: "systemLayoutSizeFitting(_:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uiview/systemlayoutsizefitting(_:)"
---

# systemLayoutSizeFitting(_:)

Returns the optimal size of the view based on its current constraints.

## Declaration

```swift
func systemLayoutSizeFitting(_ targetSize: CGSize) -> CGSize
```

## Parameters

- `targetSize`: The size that you prefer for the view. To obtain a view that is as small as possible, specify the constant doc://com.apple.uikit/documentation/UIKit/UIView/layoutFittingCompressedSize. To obtain a view that is as large as possible, specify the constant doc://com.apple.uikit/documentation/UIKit/UIView/layoutFittingExpandedSize.

## Return Value

Return Value The optimal size for the view.

## Discussion

Discussion This method returns a size value for the view that optimally satisfies the view’s current constraints and is as close to the value in the targetSize parameter as possible. This method does not actually change the size of the view.

## See Also

### Measuring in Auto Layout

- [systemLayoutSizeFitting(_:withHorizontalFittingPriority:verticalFittingPriority:)](uikit/uiview/systemlayoutsizefitting(_:withhorizontalfittingpriority:verticalfittingpriority:).md)
- [intrinsicContentSize](uikit/uiview/intrinsiccontentsize.md)
- [invalidateIntrinsicContentSize()](uikit/uiview/invalidateintrinsiccontentsize().md)
- [contentCompressionResistancePriority(for:)](uikit/uiview/contentcompressionresistancepriority(for:).md)
- [setContentCompressionResistancePriority(_:for:)](uikit/uiview/setcontentcompressionresistancepriority(_:for:).md)
- [contentHuggingPriority(for:)](uikit/uiview/contenthuggingpriority(for:).md)
- [setContentHuggingPriority(_:for:)](uikit/uiview/setcontenthuggingpriority(_:for:).md)
