<!--
{
  "availability" : [
    "iOS: 3.2.0 - 9.0.0",
    "iPadOS: 3.2.0 - 9.0.0",
    "macCatalyst: 13.1.0 - 13.1.0",
    "tvOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPopoverController/contentViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIPopoverController(py)contentViewController"
  },
  "title" : "contentViewController"
}
-->

# contentViewController

The view controller responsible for the content portion of the popover.

```
var contentViewController: UIViewController { get set }
```

## Discussion

This property is initially set to the view controller passed to the [`init(contentViewController:)`](/documentation/UIKit/UIPopoverController/init(contentViewController:)) method. You can change the value of this property later to reflect a new set of content. Changing the value of this property swaps the new view controller in for the old one immediately and does not trigger an animation. If you want to animate the change, use the [`setContentView(_:animated:)`](/documentation/UIKit/UIPopoverController/setContentView(_:animated:)) method instead.

---

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)