Пользовательский шаблон TVML
Я создаю своего рода интернет-магазин для Apple TV с tvOS
Я очень новичок в этом!
Мне было интересно, вы можете написать свой собственный шаблон в XML или вы застряли с шаблонами по умолчанию, которые предоставляет Apple? Может быть, возможно объединить разные шаблоны друг в друге?
1 ответ
Вроде, как бы, что-то вроде. Вы можете написать свои собственные шаблоны, но это включает в себя несколько разных частей. Кроме того, я не знаю способа взаимодействия пользовательских письменных шаблонов с NavigationDocument. Итак, вы ограничены либо:
- Все шаблоны Apple
- Все пользовательские шаблоны
- Apple шаблоны с некоторыми пользовательскими шаблонами листа.
Под (3) я имею в виду, что вы используете шаблоны Apple для управления большинством своих страниц, но последние страницы, которые вы нажимаете, являются полноэкранными модальными представлениями, которые просто закрывают стек шаблонов NavigationDocument.
Предполагая, что вы хотите попробовать (2) или (3), читайте дальше.
Родная часть
Во-первых, вам нужна родная часть. Это код Objective-C или Swift, который вы используете для создания классов на основе UIKit, которые могут отображать ваш пользовательский интерфейс и обрабатывать события.
Нативная часть использует JavaScriptCore, чтобы представить себя среде выполнения JavaScript в TVApplicationControllerDelegate
"s -[appController:evaluateAppJavaScriptInContext:]
метод.
Я бы порекомендовал Objective-C для этого, потому что синтаксис, необходимый для работы с JavaScriptCore, проще.
Часть обработки шаблона
Это может быть как JavaScript, так и нативный. Он считывает ваши данные в формате JSON или XML, создает собственные объекты через ранее представленные интерфейсы, а затем отображает значения JSON/XML в свойствах ваших собственных объектов. Наконец, вам нужно представить представление на экране, либо закрыв стек шаблонов NavigationDocument, либо используя свой собственный стек навигации.