<!--
{
  "availability" : [
    "tvOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TVMLKit",
  "identifier" : "/documentation/TVMLKit/TVBrowserViewController",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "TVMLKit"
    ],
    "preciseIdentifier" : "c:objc(cs)TVBrowserViewController"
  },
  "title" : "TVBrowserViewController"
}
-->

# TVBrowserViewController

A view controller that presents content in a browsable, full-screen format.

```
class TVBrowserViewController
```

## Overview

Use this class to create a full-screen layout that supports full-screen browsing. This layout includes a built-in parallax effect that is triggered during the transition between cells.

![Screenshot of the full screen browser. Hidden cells lie on the left and right side of the currently displayed cell, with edges peeking out.](images/com.apple.tvmlkit/media-3332104@2x.png)

## Topics

### Initializing the Browser View Controller

[`convenience init?(viewElement: TVViewElement)`](/documentation/TVMLKit/TVBrowserViewController/init(viewElement:))

Create a full-screen browser from a specified view element.

### Providing the Browser’s Data

[`var dataSource: (any TVBrowserViewControllerDataSource)?`](/documentation/TVMLKit/TVBrowserViewController/dataSource)

The object that provides data to the full-screen browser.

[`protocol TVBrowserViewControllerDataSource`](/documentation/TVMLKit/TVBrowserViewControllerDataSource)

Methods adopted by the object you use to represent the browser view.

### Managing Interactions with the Browser

[`var delegate: (any TVBrowserViewControllerDelegate)?`](/documentation/TVMLKit/TVBrowserViewController/delegate)

The object that acts as the delegate and handles callbacks for the browser view.

[`protocol TVBrowserViewControllerDelegate`](/documentation/TVMLKit/TVBrowserViewControllerDelegate)

Methods for detecting events and performing actions on the browser view.

### Modifying the Browser Appearance

[`var cornerRadius: CGFloat`](/documentation/TVMLKit/TVBrowserViewController/cornerRadius)

The corner radius, in points, of each full-screen browser item.

[`var interitemSpacing: CGFloat`](/documentation/TVMLKit/TVBrowserViewController/interitemSpacing)

The spacing between full-screen browser items.

[`var maskInset: UIEdgeInsets`](/documentation/TVMLKit/TVBrowserViewController/maskInset)

The amount by which the content of the cell is inset.

### Accessing Browser Elements

[`var centeredViewElement: TVViewElement`](/documentation/TVMLKit/TVBrowserViewController/centeredViewElement)

The full screen browser item that is currently centered on the screen.

[`var viewElement: TVViewElement`](/documentation/TVMLKit/TVBrowserViewController/viewElement)

The view element that the full screen browser is constructed from.

### Managing Browser Transitions

[`class TVBrowserTransitionAnimator`](/documentation/TVMLKit/TVBrowserTransitionAnimator)

An object that provides animations to and from the full screen browser.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`UIUserActivityRestoring`](/documentation/UIKit/UIUserActivityRestoring)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`UIStateRestoring`](/documentation/UIKit/UIStateRestoring)

[`UIResponderStandardEditActions`](/documentation/UIKit/UIResponderStandardEditActions)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`UITraitEnvironment`](/documentation/UIKit/UITraitEnvironment)

[`UIFocusEnvironment`](/documentation/UIKit/UIFocusEnvironment)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`UITraitChangeObservable-67e94`](/documentation/UIKit/UITraitChangeObservable-67e94)

[`UIAppearanceContainer`](/documentation/UIKit/UIAppearanceContainer)

[`UIContentContainer`](/documentation/UIKit/UIContentContainer)

[`NSExtensionRequestHandling`](/documentation/Foundation/NSExtensionRequestHandling)

[`UIActivityItemsConfigurationProviding`](/documentation/UIKit/UIActivityItemsConfigurationProviding)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`UIViewController`](/documentation/UIKit/UIViewController)

---

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)