在 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。
啟動新的 Xamarin.tvOS 應用程式,然後選取 tvOS >應用程式>索引標籤式應用程式:
請遵循所有提示來建立新的 Xamarin.tvOS 解決方案。
在 Solution Pad 中,按兩下
Main.storyboard
檔案,然後開啟檔案進行編輯。若要變更指定類別的圖示或標題,請選取 [檔案大綱] 中檢視控制器的索引標籤專案:
然後在 [屬性總管] 的 [Widget] 索引卷標中設定必要的屬性:
若要新增類別 (索引標籤),請將 檢視控制器 放到設計介面上:
按兩下控制器拖曳至新的檢視控制器。
從彈出視窗中,選取 檢視控制器 ,以將新檢視新增為索引標籤(類別):
藉由在 iOS 設計工具中新增 UI 元素,將每個卡特洛吉斯內容區域的 UI 配置設計成一般。
公開任何必要的事件,以使用 C# 程式代碼中的 UI 控制件。
將您想要在 C# 程式代碼中公開的任何 UI 控制件命名。
儲存您的變更。
重要
雖然可以在 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 列控制器。