---
title: TVElementFactory
framework: tvmlkit
role: symbol
role_heading: Class
path: tvmlkit/tvelementfactory
---

# TVElementFactory

An object used to register new elements to extend the Apple TV Markup Language (TVML).

## Declaration

```swift
class TVElementFactory
```

## Overview

Overview You must register new elements before initializing a TVApplicationController object.

## Topics

### Registering New Elements

- [registerViewElementClass(_:elementName:)](tvmlkit/tvelementfactory/registerviewelementclass(_:elementname:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Custom Elements

- [TVImageElement](tvmlkit/tvimageelement.md)
- [TVTextElement](tvmlkit/tvtextelement.md)
- [Creating TVML Elements](tvmlkit/creating-tvml-elements.md)
