Xamarin 中的 watchOS 選單控制件 (強制觸控)
Watch Kit 提供強制觸控手勢,可在監看式應用程式畫面上實作時觸發功能表。
回應強制觸控
Menu
如果已為介面控制器實作 ,當使用者執行強制觸控時,就會顯示功能表。 如果沒有實作任何功能表,畫面會短暫產生動畫效果,不會發生任何其他動作。
強制觸控與畫面上任何特定項目無關;只有一個功能表可以附加至介面控制器,無論強制觸控在畫面上發生的位置為何,它都會顯示。
可以顯示一到四個功能表選項。
新增功能表
Menu
必須在設計時間將 新增至InterfaceController
分鏡文稿上的 。 當功能表控制器時,腳本預覽上沒有視覺指示,但功能表會出現在 [檔大綱] 板中:
最多可以新增四個功能表項至功能表控件。 您可以在 [屬性] 面板中設定它們。 您可以設定下列屬性:
- 標題和
- 自定義映像,或
- 系統映射:Accept、Add、Block、Decline、Info、Maybe、More、Mute、Pause、Play、Repeat、Resume、Share、Shuffle、Speaker、垃圾桶。
Action
選擇[屬性] 面板的 [事件] 區段並輸入動作方法的名稱,以建立 。 部分方法將會在程式代碼中建立,這可以在介面控制器類別中實作,如下所示:
partial void MenuItemTapped ()
{
Console.WriteLine ("A menu item was tapped.");
}
自訂映像
類似於 iOS 中的索引標籤影像,功能表項影像需要不透明模式,且具有 Alpha 色板,可讓背景顯示。
您應該將用於功能表的影像新增至監看式應用程式專案(而非監看應用程式延伸模組專案),以獲得最佳效能。
變更功能表項
在運行時間新增
您無法在運行時間將 Menu
新增至介面控制器,雖然 可以程式設計方式變更 的 集合MenuItem
。
AddMenuItem
使用 方法,如下所示:
AddMenuItem (WKMenuItemIcon.Accept, "Yes", new ObjCRuntime.Selector ("tapped"));
Xamarin.iOS 監看套件 API 目前需要 selector
方法的 AdMenuItem
,應該宣告如下:
[Export("tapped")]
void MenuItemTapped ()
{
Console.WriteLine ("The dynamically added 'Yes' menu item was tapped.");
}
在運行時間移除
ClearAllMenuItems
您可以呼叫 方法來移除所有以程序設計方式新增的功能表項。
無法清除分鏡腳本中設定的功能表項。