---
title: "splitViewController(_:willHide:with:for:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:willhide:with:for:)"
---

# splitViewController(_:willHide:with:for:)

Tells the delegate that the specified view controller is about to be hidden.

## Declaration

```swift
optional func splitViewController(_ svc: UISplitViewController, willHide aViewController: UIViewController, with barButtonItem: UIBarButtonItem, for pc: UIPopoverController)
```

## Parameters

- `svc`: The split view controller that owns the specified view controller.
- `aViewController`: The view controller being hidden.
- `barButtonItem`: A button you can add to your toolbar.
- `pc`: The popover controller that uses taps in barButtonItem to display the specified view controller.

## Discussion

Discussion When the split view controller rotates from a landscape to portrait orientation, it typically hides one of its view controllers. When that happens, it calls this method to coordinate the addition of a button to the toolbar (or navigation bar) of the remaining custom view controller. If you want the soon-to-be hidden view controller to be displayed in a popover, you must implement this method and use it to add the specified button to your interface.

## See Also

### Deprecated methods

- [splitViewController(_:shouldHide:in:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:shouldhide:in:).md)
- [splitViewController(_:willShow:invalidating:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:willshow:invalidating:).md)
- [splitViewController(_:popoverController:willPresent:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:popovercontroller:willpresent:).md)
