---
title: customInfoViewControllers
framework: avkit
role: symbol
role_heading: Instance Property
path: avkit/avplayerviewcontroller/custominfoviewcontrollers
---

# customInfoViewControllers

An array of view controllers to display as content tabs in the player user interface.

## Declaration

```swift
var customInfoViewControllers: [UIViewController] { get set }
```

## Mentioned in

Adopting the system player interface in visionOS Customizing the tvOS Playback Experience

## Discussion

Discussion The system uses a view controller’s title property value as the content tab title. Set this property value before adding it to the array so that the title renders correctly in the player’s user interface. Similarly, set a preferredContentSize value on the custom view controllers, or define appropriate auto layout constraints on their views, so the system sizes them correctly in the player user interface. important: The view with the greatest height determines the height of all of the content views. Set the height of your content views consistently to simplify layout, or verify that your content renders as intended if the system resizes it.

## See Also

### Customizing the tvOS player UI

- [playbackControlsIncludeTransportBar](avkit/avplayerviewcontroller/playbackcontrolsincludetransportbar.md)
- [playbackControlsIncludeInfoViews](avkit/avplayerviewcontroller/playbackcontrolsincludeinfoviews.md)
- [transportBarIncludesTitleView](avkit/avplayerviewcontroller/transportbarincludestitleview.md)
- [transportBarCustomMenuItems](avkit/avplayerviewcontroller/transportbarcustommenuitems.md)
- [infoViewActions](avkit/avplayerviewcontroller/infoviewactions.md)
- [contextualActions](avkit/avplayerviewcontroller/contextualactions.md)
- [customOverlayViewController](avkit/avplayerviewcontroller/customoverlayviewcontroller.md)
- [unobscuredContentGuide](avkit/avplayerviewcontroller/unobscuredcontentguide.md)
- [customInfoViewController](avkit/avplayerviewcontroller/custominfoviewcontroller.md)
