我正在使用 tvOS
为 Apple TV 构建一种网上商店,我是新手!
我想知道,您可以在 xml 中编写您自己的模板,还是坚持使用 apple 提供的默认模板?也许可以将不同的模板相互组合?
最佳答案
有点。您可以编写自己的模板,但它涉及几个不同的部分。另外,我不知道自定义书面模板与 NavigationDocument 交互的方法。 .因此,您只能:
- 所有 Apple 模板
- 所有自定义模板
- 带有一些自定义叶子模板的 Apple 模板。
(3) 我的意思是您使用 Apple 模板来驱动您的大部分页面,但它们最后推送的页面是全屏模态视图,只是覆盖了 NavigationDocument 模板堆栈。
假设您想尝试 (2) 或 (3),请继续阅读。
原生部分
首先,您需要原生部分。这是您用来构建基于 UIKit 的类的 Objective-C 或 Swift 代码,这些类可以显示您的自定义 UI 并处理事件。
原生部分使用JavaScriptCore在 TVApplicationControllerDelegate
的 -[appController:evaluateAppJavaScriptInContext:]
方法中将自身暴露给 JavaScript 运行时。
为此我推荐 Objective-C,因为使用 JavaScriptCore 所需的语法更简单。
模板处理部分
这可以是 JavaScript 或 native 。它读取您的 JSON 或 XML 数据,通过您之前公开的接口(interface)创建 native 对象,然后将 JSON/XML 值映射到 native 对象的属性中。最后,您需要将 View 呈现在屏幕上,覆盖 NavigationDocument 模板堆栈或使用您自己的自定义导航堆栈。
关于ios - TVML 自定义模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34131251/