Пользовательский шаблон TVML

Я создаю что-то вроде интернет-магазина для Apple TV с tvOS, в котором я очень новичок!

Мне было интересно, можете ли вы написать свой собственный шаблон в xml или вы застряли с шаблонами по умолчанию, которые предоставляет Apple? Может быть, можно комбинировать разные шаблоны друг в друге?


person Steaphann    schedule 07.12.2015    source источник
comment
Возможно, divTemplate? developer.apple.com/library/tvos/documentation/   -  person Frank C.    schedule 30.12.2015


Ответы (1)


Вроде. Вы можете написать свои собственные шаблоны, но это включает в себя несколько разных частей. Кроме того, я не знаю, как пользовательские письменные шаблоны взаимодействовать с НавигационныйДокумент. Итак, вы ограничены:

  1. Все шаблоны Apple
  2. Все пользовательские шаблоны
  3. Шаблоны Apple с некоторыми пользовательскими шаблонами листьев.

Под (3) я подразумеваю, что вы используете шаблоны Apple для управления большинством своих страниц, но последние страницы, которые вы отправляете, представляют собой полноэкранные модальные представления, которые просто закрывают стек шаблонов NavigationDocument.

Если вы хотите попробовать (2) или (3), читайте дальше.

Родная часть

Во-первых, вам нужна родная часть. Это код Objective-C или Swift, который вы используете для создания классов на основе UIKit, которые могут отображать ваш пользовательский интерфейс и обрабатывать события.

Нативная часть использует JavaScriptCore, чтобы представить себя среде выполнения JavaScript в методе -[appController:evaluateAppJavaScriptInContext:] TVApplicationControllerDelegate.

Я бы рекомендовал для этого Objective-C, потому что синтаксис, необходимый для работы с JavaScriptCore, проще.

Часть обработки шаблона

Это может быть либо JavaScript, либо нативный. Он считывает ваши данные JSON или XML, создает собственные объекты с помощью интерфейсов, которые вы ранее предоставили, а затем сопоставляет значения JSON/XML со свойствами ваших собственных объектов. Наконец, вам нужно представить представление на экране, либо закрывая стек шаблонов NavigationDocument, либо используя собственный пользовательский стек навигации.

person Doug Richardson    schedule 13.12.2015