---
title: "splitViewController(_:willShow:invalidating:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:willshow:invalidating:)"
---

# splitViewController(_:willShow:invalidating:)

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

## Declaration

```swift
optional func splitViewController(_ svc: UISplitViewController, willShow aViewController: UIViewController, invalidating barButtonItem: UIBarButtonItem)
```

## Parameters

- `svc`: The split view controller that owns the specified view controller.
- `aViewController`: The view controller being hidden.
- `barButtonItem`: The button used to display the view controller while it was hidden.

## Discussion

Discussion When the view controller rotates from a portrait to landscape orientation, it shows its hidden view controller once more. If you added the specified button to your toolbar to facilitate the display of the hidden view controller in a popover, you must implement this method and use it to remove that button.

## See Also

### Deprecated methods

- [splitViewController(_:shouldHide:in:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:shouldhide:in:).md)
- [splitViewController(_:willHide:with:for:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:willhide:with:for:).md)
- [splitViewController(_:popoverController:willPresent:)](uikit/uisplitviewcontrollerdelegate/splitviewcontroller(_:popovercontroller:willpresent:).md)
