你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> WatchKit編程指南:WatchKit Apps

WatchKit編程指南:WatchKit Apps

編輯:IOS開發基礎

443.jpg

本文翻譯自Apple Watch Programming Guide:Interface Navigation,敬請勘誤。

對於內容超過一屏的WatchKit app來說,您必須在設計時選擇一個導航類型。您所選擇的導航類型定義了如何在應用程序中展示和管理界面控制器。WatchKit支持兩種互斥的界面風格:

  • 分層風格

  • 分頁風格

這兩種導航都可以模態形式展示一個或多個界面。當您想暫時打斷用戶的工作流程以請求輸入或者展示信息時,適合使用模態形式。當模態地展示兩個或多個界面控制器時,系統會以一系列的頁面展示它們,類似於基於分頁的導航。

實現分層界面(Implementing a Hierarchical Interface)

分層界面主要針對分層的數據集,用戶可在此選擇某個條目以展示相關詳細信息。分層界面通常始於單個的根界面控制器。在該界面控制器中,您可以通過調用當前界面控制器的pushControllerWithName:context:方法在屏幕上推出一個新的界面控制器。通常,當用戶點擊按鈕或表格行時,您可以從動作方法中調用該方法。每個新的界面控制器可展示下一級分層中的信息。

當在屏幕上推出新的界面控制器時,會將數據對象傳遞給pushControllerWithName:context:方法的上下文參數。在新界面控制器展示在屏幕上之前,這個上下文對象就是您與其通信的機會。您可以使用該對象來告知界面控制器展示什麼樣的數據或者傳達什麼樣的狀態信息。

想要解除界面控制器,可調用其popController方法。用戶也可以直接從屏幕的左邊緣輕掃解除界面控制器。界面控制器解除後即失效,而先前的界面控制器將會重新展示。根界面控制器不能被解除。

實現基於分頁的界面(Implementing a Page-Based Interface)

基於分頁的界面主要針對本質上沒有分層的數據。分頁界面包含兩個或者多個獨立的界面控制器,並且在指定時間內僅展示其中一個界面。在運行時,通過向左/右輕掃屏幕進行導航。屏幕底部的圓點指示器控件指示用戶當前的位置。

在設計過程中,您可以創建下一頁的segue,以便在app的storyboard文件中配置分頁界面。想要創建該segue:

1.對您希望作為第一屏的界面控制器執行Control-click操作,並將其拖拽到不同的界面控制器中。

應該強調第二個界面控制器,以指明segue是可用的。

2.釋放鼠標按鈕。

3.從relationship segue面板中選擇next page。

通常在storyboard文件中配置一組初始的頁面集合。當app啟動時,WatchKit會實例化和初始化您的初始界面控制器,然後是分頁界面中的其他界面控制器。如果您想改變一組界面控制器,請在初始界面控制器的init方法中調用reloadRootControllersWithNames:contexts:方法。調用該方法會使得WatchKit在嘗試展示界面中任何其他頁面之前加載新的界面控制器。您也可以在app運行時調用reloadRootControllersWithNames:contexts:方法來改變展示中的頁面集合。

當系統加載您的WatchKit app界面時,它將實例化和初始化組成界面的所有界面控制器。當用戶從一個界面控制器切換至下一個時,它將調用當前界面控制器的didDeactivate方法,以及即將展示的界面控制器的willActivate方法。willActivate方法可確保界面中的信息是最新的。

以模態形式展示界面控制器(Presenting Interface Controllers Modally)

模態界面可臨時中斷當前導航流以提示用戶或者展示信息。您可以使用分頁界面或分層界面來組成一個模態界面。想要模態地展示界面控制器,請從當前可視界面中調用以下方法之一:

  • 調用presentControllerWithName:context:方法來模態地展示單個界面控制器。

  • 調用presentControllerWithNames:contexts:方法展示兩個或者多個使用分頁布局的界面控制器。

模態界面的左上角包含一個文本標簽,當點擊時會解除界面。如果您沒有為該標簽指定一個准確的字符串,那麼WatchKit會自動為其使用"Cancel"。您可以根據需要更改字符串,以反映解除模態視圖的真實用意。比如,當展示那些您不希望用戶響應的內容時,您可能會將字符串更改為"Done"或 "Close"。如果您使用了"Cancel"字符串,那要考慮為接受模態界面中的任何更改添加一個或多個按鈕。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved