共用方式為


在 Xamarin 中使用 tvOS 索引標籤控制器

對於許多類型的 tvOS 應用程式,主要導覽會顯示為在畫面頂端執行的索引標籤。 使用者向左和向右撥動可能類別清單,以及變更下方的內容區域,以反映使用者的選取範圍。

範例索引標籤

Tab 列預設為半透明,且一律會出現在畫面頂端。 當焦點處於焦點時,Tab 列會覆蓋螢幕的前 140 圖元,但當焦點移至下方的內容區域時,會快速滑開。

tvOS 中的 Tab 列

UITabViewController 以類似的方式運作,並在tvOS上以類似方式運作,如同在iOS中所做的那樣,具有下列主要差異:

  • 不同於出現在螢幕底部的 iOS 索引標籤,tvOS 中的 TabBar 會佔用螢幕前 140 像素,且預設為半透明。
  • 當焦點離開下方內容的索引卷標列時,Tab 列會快速滑離畫面頂端並隱藏。 用戶可以點選 [功能表] 按鈕一次,或向上 撥動 Siri 遠端 ,再次顯示索引卷標列。
  • 在 Siri 遠端上向下撥動會將焦點移至索引標籤下方的內容區域,移至顯示內容中的第一個 可焦點專案 。 同樣地,這會在焦點移位后隱藏 Tab 列。
  • 按兩下以選取 Tab 列中顯示的類別,將會切換至該類別的內容,並將焦點切換至該檢視中的第一個可焦點專案。
  • 索引標籤中顯示的類別數目應該固定,而且應該隨時存取所有類別,一律不應該停用指定的類別。
  • Tab 列不支援在tvOS上進行自訂。 此外,如果 [類別] 超過 Tab 列所能容納的類別,則不會顯示 [更多 類別] (例如 iOS)。

Apple 有下列使用 Tab Bars 的建議:

  • 使用 Tab 列以邏輯方式組織內容 - 使用 Tab 列以邏輯方式組織 tvOS 應用程式使用的內容。 例如,精選、頂端圖表、已購買和搜尋。
  • 新增徽章以通知使用者新內容 - 您可以選擇性地顯示徽章(具有白色數位或驚嘆號的紅色橢圓形),以通知用戶類別中的新內容。
  • 謹慎使用徽章 - 不要將 Tab 列與徽章 雜亂無章,並只顯示它們提供重要資訊給使用者的位置。
  • 限制類別數目 - 若要降低複雜度,並讓應用程式保持可管理,請勿使用 [類別] 多載您的 Tab 列,並確保所有類別 都可見且不會擁擠。 簡單、簡短的標題效果最好。
  • 請勿停用類別 - 所有索引標籤(類別 )應該一律可見並隨時啟用。 如果指定的 Tab 沒有內容,請提供說明給使用者原因。 例如,如果使用者未購買,[購買] 索引標籤將會是空的。

索引標籤列專案

Tab 欄中的每個類別 (Tab) 都會以 Tab 列專案 (UITabBarItem) 來表示。 Apple 有下列使用 Tab 列項目的建議:

  • 使用以文字為基礎的索引 標籤 - 雖然 Tab 列專案可以表示為圖示,但 Apple 建議只使用文字,因為簡潔的標題比圖示更容易解譯。
  • 使用簡短、有意義的名詞或動詞 - Tab 列項目應該清楚地轉譯它包含的內容,並在它是簡單的名詞(例如相片、電影或音樂)或動詞(例如搜尋或播放)時效果最佳。

Tab 列和分鏡腳本

在 Xamarin.tvOS 應用程式中使用 Tab Bars 最簡單的方式,就是使用 iOS 設計工具將它們新增至應用程式的 UI。

  1. 啟動新的 Xamarin.tvOS 應用程式,然後選取 tvOS >應用程式>索引標籤式應用程式:

    選取索引標籤應用程式

  2. 請遵循所有提示來建立新的 Xamarin.tvOS 解決方案。

  3. Solution Pad 中,按兩下 Main.storyboard 檔案,然後開啟檔案進行編輯。

  4. 若要變更指定類別的圖示標題,請選取 [檔案大綱] 中檢視控制器索引標籤專案

    檔大綱中檢視控制器的索引標籤列專案

  5. 然後在 [屬性總管] 的 [Widget] 索引卷標中設定必要的屬性

    小工具索引標籤

  6. 若要新增類別 (索引標籤),請將 檢視控制器 放到設計介面上:

    檢視控制器

  7. 按兩下控制器拖曳至新的檢視控制器

  8. 從彈出視窗中,選取 檢視控制器 ,以將新檢視新增為索引標籤(類別):

    選取索引標籤

  9. 藉由在 iOS 設計工具中新增 UI 元素,將每個卡特洛吉斯內容區域的 UI 配置設計成一般。

  10. 公開任何必要的事件,以使用 C# 程式代碼中的 UI 控制件。

  11. 將您想要在 C# 程式代碼中公開的任何 UI 控制件命名。

  12. 儲存您的變更。

重要

雖然可以在 iOS 設計工具中將例如 TouchUpInside UI 元素的事件指派給 UI 元素(例如 ,例如 ), UIButton但永遠不會呼叫它,因為 Apple TV 沒有觸控屏或支援觸控事件。 建立tvOS使用者介面元素的事件處理程式時,您應該一律使用 Primary Action 事件。

如需使用分鏡腳本的詳細資訊,請參閱我們的 Hello, tvOS 快速入門指南

使用製表列

Items使用 的 UITabBar 屬性來存取其包含的UITabBarItems集合,做為零 (0) 索引陣列。 屬性 SelectedItem 會將目前選取的索引標籤 (Category) 傳回為 UITabBarItem

使用索引標籤列專案

若要在指定的索引標籤上顯示徽章(具有白色文字的紅色橢圓形),請使用下列程式代碼:

// Display a badge
TabBar.Items [2].BadgeValue = "10";

執行時會產生下列結果:

具有徽章的索引標籤專案

Title使用 的 UITabBarItem 屬性來變更標題和 Image 屬性來變更圖示。

摘要

本文涵蓋在 Xamarin.tvOS 應用程式內設計和使用 Tab 列控制器。