我正在用tvOS
为Apple TV构建一种网店,这是我的新手!
我想知道,你能用xml编写你自己的模板吗?还是你一直使用苹果提供的默认模板?也许可以将不同的模板组合在一起?
有点像。您可以编写自己的模板,但它涉及到几个不同的部分。此外,我不知道有什么方法可以让自定义编写的模板与NavigationDocument交互。因此,您仅限于以下任一项:
- 所有Apple模板
- 所有自定义模板
- 带有一些自定义叶子模板的苹果模板
(3)我的意思是,你使用Apple模板来驱动你的大部分页面,但它们是你推送的最后一个页面,是全屏模式视图,只是掩盖了NavigationDocument模板堆栈。
假设你想尝试(2)或(3),请继续阅读。
原生部分
首先,你需要原生部分。这是Objective-C或Swift代码,用于构建基于UIKit的类,这些类可以显示自定义UI并处理事件。
本机部分使用JavaScriptCore在TVApplicationControllerDelegate
的-[appController:evaluateAppJavaScriptInContext:]
方法中将自己暴露给JavaScript运行时。
我建议使用Objective-C,因为使用JavaScriptCore所需的语法更简单。
模板处理部分
这可以是JavaScript,也可以是本机。它读取您的JSON或XML数据,通过您之前公开的接口创建本机对象,然后将JSON/XML值映射到本机对象的属性中。最后,您需要将视图显示在屏幕上,可以覆盖NavigationDocument模板堆栈,也可以使用自己的自定义导航堆栈。