<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSSplitViewDelegate/splitView(_:resizeSubviewsWithOldSize:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(pl)NSSplitViewDelegate(im)splitView:resizeSubviewsWithOldSize:"
  },
  "title" : "splitView(_:resizeSubviewsWithOldSize:)"
}
-->

# splitView(_:resizeSubviewsWithOldSize:)

Allows the delegate to specify custom sizing behavior for the subviews of the split view.

```
@MainActor optional func splitView(_ splitView: NSSplitView, resizeSubviewsWithOldSize oldSize: NSSize)
```

## Parameters

`splitView`

The split view that sends the message.

`oldSize`

The size of the split view before the user resizes it.

## Discussion

> Important:
> If your split view uses Auto Layout to size its subviews, don’t implement this method.

If the delegate implements this method, it receives this message after the split view resizes.

Resize the subviews so that the sum of the sizes of the subviews plus the sum of the thickness of the dividers equals the size of the new frame of the [`NSSplitView`](/documentation/AppKit/NSSplitView). You can get the thickness of a divider through the [`dividerThickness`](/documentation/AppKit/NSSplitView/dividerThickness) method.

If you implement this delegate method to resize subviews on your own, the [`NSSplitView`](/documentation/AppKit/NSSplitView) doesn’t perform any error checking for you. However, you can invoke [`adjustSubviews()`](/documentation/AppKit/NSSplitView/adjustSubviews()) to perform the default sizing behavior.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)