带有 tvos 的菜单栏、图片和列表的主页 - tvml

Posted

技术标签:

【中文标题】带有 tvos 的菜单栏、图片和列表的主页 - tvml【英文标题】:Home Site with menubar, picture and list with tvos - tvml 【发布时间】:2016-08-11 16:15:57 【问题描述】:

基于此示例代码: https://developer.apple.com/library/tvos/samplecode/TVMLCatalog/Introduction/Intro.html#//apple_ref/doc/uid/TP40016505 我试图在应用程序 zova 中创建一个起始站点 我想在顶部显示一个菜单,可以通过在遥控器上滑动来显示 每个菜单点应直接显示一个子页面。

目前它只显示 3 个菜单点,但没有内容。 启动应用程序后,将直接打开 /templates/home/Index.xml。而且我只能通过遥控器上的menue按钮返回menue。

我的索引xml文件有以下内容:

<document>
<menuBarTemplate>
<menuBar>
  <menuItem id="navigation_top_travel" data-identifier="list" documentURL="/templates/home/Index.xml" autoHighlight="true">
    <title>Home</title>
  </menuItem>
  <menuItem id="navigation_top_remember" data-identifier="remember" documentURL="/templates/remember/Index.xml">
    <title>Likes</title>
  </menuItem>
  <menuItem id="navigation_top_settings" data-identifier="edit" documentURL="/templates/settings/Index.xml">
    <title>Settings</title>
  </menuItem>
</menuBar>
</menuBarTemplate>
</document>

我该如何解决这个问题? 感谢您的帮助。

【问题讨论】:

【参考方案1】:

您应该使用 getFeature 来执行此操作。

doc.addEventListener("select", (event) => 
    const target = event.target;
    const ele = target.parentNode;
    const feature = ele.getFeature("MenuBarDocument");
    const featureDoc = feature.getDocument(target);
    if (featureDoc == null) 
        const documentURL = target.getAttribute("documentURL");
        let docFromURL = your_function_get_doc_from_url(documentURL);
        feature.setDocument(docFromURL);
    
);

【讨论】:

以上是关于带有 tvos 的菜单栏、图片和列表的主页 - tvml的主要内容,如果未能解决你的问题,请参考以下文章

带有常用按钮菜单栏的 Sharepoint 2013 列表视图

C# winform 中如何实现tabControl1控件页面跳转?通过主页面上的菜单栏(见图)选择后,并跳出相应的页面

带有collectionview的自定义菜单栏

怎么使用别人微信主页的背景?

javascript 菜单栏和表单

Xamarin 表单 - 侧边菜单左侧栏、片段和列表视图