ios - TVML 自定义模板

标签 ios tvos apple-tv tvml tvjs

我正在使用 tvOS 为 Apple TV 构建一种网上商店,我是新手!

我想知道,您可以在 xml 中编写您自己的模板,还是坚持使用 apple 提供的默认模板?也许可以将不同的模板相互组合?

最佳答案

有点。您可以编写自己的模板,但它涉及几个不同的部分。另外,我不知道自定义书面模板与 NavigationDocument 交互的方法。 .因此,您只能:

  1. 所有 Apple 模板
  2. 所有自定义模板
  3. 带有一些自定义叶子模板的 Apple 模板。

(3) 我的意思是您使用 Apple 模板来驱动您的大部分页面,但它们最后推送的页面是全屏模态视图,只是覆盖了 NavigationDocument 模板堆栈。

假设您想尝试 (2) 或 (3),请继续阅读。

原生部分

首先,您需要原生部分。这是您用来构建基于 UIKit 的类的 Objective-C 或 Swift 代码,这些类可以显示您的自定义 UI 并处理事件。

原生部分使用JavaScriptCoreTVApplicationControllerDelegate-[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/

相关文章:

objective-c - 为什么 SCNPhysicsBody 在设置 eulerAngles 时会重置位置?

tvos - 我们不能提交tvOS应用程序进行存储吗?

swift - <memory> 不是 BOMStorage 文件

objective-c - NSURLSession 无法在 tvOS 上运行?

ios - 在应用程序商店中创建指向应用程序的 iOS 链接 - 最好的方法?

iphone - 模拟器设置为横向模式iOS时 View 不滚动

xcode - tvOS - 在应用程序运行时管理下载的视频和图像的最佳方式

swift - tvOS AVPlayerItem 外部艺术品元数据大小

ios - Swift:在 didSelect View 中更改图钉颜色:MKAnnotationView

ios - 尝试实现相机功能时,xcode 向不兼容类型警告参数抛出 "DetailViewController *"