TVML
Use Apple TV Markup Language to create individual pages inside of a client-server app.
Overview
Overview
Every page in a client-server app is built on an Apple TV Markup Language (TVML) template. TVML templates define what elements can be used and in what order. Each template is designed to display information in a specific way. For example, loadingTemplate shows a spinner and a quick description of what is happening, while ratingTemplate shows the rating for a product. You create a new TVML file that contains a single template for each page in a client-server app. Each template page occupies the entire TV screen.
Each template page uses compound and simple elements. Compound elements contain other elements, while simple elements are single lines of TVML. Elements contain the information and images that are displayed on the screen.
Every template has a default presentation theme associated with it. You can set a specific theme for your app setting UIUserInterfaceStyle in the info.plist file. Themes provide a consistent look inside of a template.
You control the flow of a client-server app through a JavaScript file that is called by your binary app. Your JavaScript file needs to be able to load TVML pages and respond to user input. For more information on available JavaScript APIs, see TVMLKit JS.
Topics
Full-Page Templates
alertTemplatecatalogTemplatecompilationTemplatedescriptiveAlertTemplatedivTemplateformTemplatelistTemplateloadingTemplatemainTemplatemenuBarTemplateoneupTemplateparadeTemplateproductBundleTemplateproductTemplateratingTemplatesearchTemplateshowcaseTemplatestackTemplateDisplaying a Product or Bundle in a Full-Page Template
Compound Elements
Simple Elements
Styles
Color StylesText StylesElement ShapingElement Alignment and Spacingtv-placeholdertv-rating-styletv-transitiontv-text-highlight-styletv-scrollable-bounds-inset
Attributes
Image AttributesText AttributesFocus AttributesBinding and DOM ManipulationInline PlaybackAlignment, Scrolling, and Coloring