共用方式為


在 Xamarin 中使用 watchOS 導覽

手錶上可用的最簡單的導覽選項是出現在目前場景頂端的簡單 強制回應彈出視窗

針對多場景監看應用程式,有兩種流覽範例可供使用:

PresentController使用方法可強制開啟介面控制器。 介面控制器必須在 Interface.storyboard定義。

PresentController ("pageController","some context info");

強制呈現的控制器會使用整個螢幕(涵蓋上一個場景)。 根據預設,標題會設定為 [ 取消 ],並點選它會關閉控制器。

若要以程式設計方式關閉強制回應呈現的控制器,請呼叫 DismissController

DismissController();

強制響應畫面可以是單一場景,或使用以頁面為基礎的版面配置。

階層式導覽

呈現類似可巡覽回堆疊的場景,類似於在iOS上運作的方式 UINavigationController 。 場景可以推送至流覽堆疊並彈出(以程序設計方式或由用戶選取)。

場景可以推送至流覽堆疊 場景可以彈出流覽堆疊

如同 iOS,左邊緣撥動會巡迴階層式導覽堆疊中的父控制器。

在程式代碼中推送和快顯

Watch Kit 不需要像 iOS 一樣建立過度拱形的「流覽控制器」,只要使用 PushController 方法推送控制器,就會自動建立瀏覽堆疊。

PushController("secondPageController","some context info");

監看式畫面會在左上方包含 返回 按鈕,但您也可以使用 PopController以程式設計方式從導覽堆疊移除場景。

PopController();

如同 iOS,您也可以使用 PopToRootController傳回瀏覽堆疊的根目錄。

PopToRootController();

使用 Segues

您可以在分鏡腳本中的場景之間建立 Segues,以定義階層式導覽。 若要取得目標場景的內容,操作系統會呼叫 GetContextForSegue 以初始化新的介面控制器。

public override NSObject GetContextForSegue (string segueIdentifier)
{
  if (segueIdentifier == "mySegue") {
    return new NSString("some context info");
  }
  return base.GetContextForSegue (segueIdentifier);
}

頁面型介面

頁面型介面由左至右撥動,類似於在iOS上運作的方式 UIPageViewController 。 指標點會沿著畫面底部顯示,以顯示目前顯示的頁面。

範例第一頁 範例第二頁 範例第五頁

若要讓頁面型介面成為監看應用程式的主要UI,請搭配介面控制器和內容的陣列使用 ReloadRootControllers

var controllerNames = new [] { "pageController", "pageController", "pageController", "pageController", "pageController" };
var contexts = new [] { "First", "Second", "Third", "Fourth", "Fifth" };
ReloadRootControllers (controllerNames, contexts);

您也可以從應用程式中的其中一個其他場景, PresentController 呈現不是根目錄的頁面控制器。

var controllerNames = new [] { "pageController", "pageController", "pageController", "pageController", "pageController" };
var contexts = new [] { "First", "Second", "Third", "Fourth", "Fifth" };
PresentController (controllerNames, contexts);