共用方式為


Xamarin 中的 watchOS 選單控制件 (強制觸控)

Watch Kit 提供強制觸控手勢,可在監看式應用程式畫面上實作時觸發功能表。

顯示功能表的 Apple Watch

回應強制觸控

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 新增至介面控制器,雖然 可以程式設計方式變更 的 集合MenuItemAddMenuItem使用 方法,如下所示:

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您可以呼叫 方法來移除所有以程序設計方式新增的功能表項。

無法清除分鏡腳本中設定的功能表項。