鍍金池/ 教程/ iOS/ 管理你的預(yù)覽界面
上下文菜單
更新記錄
文本與標(biāo)簽
使用 iOS 技術(shù)
開發(fā)您的 Watch 應(yīng)用
Watch 應(yīng)用結(jié)構(gòu)
預(yù)覽概要
界面對象
UI 概要
Tables
配置 Xcode 項(xiàng)目
圖片
通知要點(diǎn)
設(shè)置
界面導(dǎo)航
管理你的預(yù)覽界面
管理自定義 Long Look 界面

管理你的預(yù)覽界面

當(dāng)你添加手表插件應(yīng)用到你的 Xcode 項(xiàng)目時(shí),你可以指定是否想要預(yù)覽界面。如果你忘記在建項(xiàng)目的時(shí)候添加預(yù)覽界面,你也可以晚點(diǎn)再把它加到你的項(xiàng)目中。一個(gè)預(yù)覽界面控制器有輕微的不同顯示方式在你的應(yīng)用的 storyboard 上。尤其是,它有一個(gè)預(yù)覽入口對象附屬在上面,同時(shí)它有一個(gè)默認(rèn)的布局,如下面的圖14-1。

圖 14-1 一個(gè)帶有預(yù)覽入口對象的界面控制器

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/glance_interface_2x.png" alt="一個(gè)帶有預(yù)覽入口對象的界面控制器" />

你可以用自定義的 WKInterfaceController 的子類去配置運(yùn)行時(shí)的預(yù)覽內(nèi)容。實(shí)現(xiàn)子類之后,你可以像實(shí)現(xiàn)其它手表插件應(yīng)用中的界面控制器一樣去實(shí)現(xiàn)它。

添加預(yù)覽界面到你的應(yīng)用

當(dāng)為你的應(yīng)用創(chuàng)建手表插件時(shí),為了確保預(yù)覽屏幕選項(xiàng)包含了創(chuàng)建的相關(guān)文件,你需要實(shí)現(xiàn)的預(yù)覽界面。Xcode 提供給你一個(gè)預(yù)覽 storyboard 屏幕和一個(gè)自定義的預(yù)覽界面控制器類。如果你沒有在創(chuàng)建的時(shí)勾選這個(gè)選項(xiàng),你可以手動(dòng)去配置。

手動(dòng)創(chuàng)建預(yù)覽界面

  1. 在你的項(xiàng)目,創(chuàng)建一個(gè) WKInterfaceController 的子類。創(chuàng)建這些新的資源文件并添加到你的手表插件擴(kuò)展目標(biāo)。給這個(gè)子類名一個(gè)恰當(dāng)?shù)拿?。例如?code>GlanceInterfaceController。
  2. 在你的 storyboard 文件中,拖拽 Glance Interface Controller 到你的 storyboard。
    這個(gè)屏幕展示你的新加入的預(yù)覽界面控制器就會(huì)有一個(gè)預(yù)覽入口對象附屬在上面,就如圖 14-1 所示。
  3. 選擇你 storyboard 上的預(yù)覽界面控制器并打開 Identity inspector。
  4. 根據(jù)步驟 1 去設(shè)置你的預(yù)覽界面控制器類。

手表插件應(yīng)用有且只有一個(gè)預(yù)覽界面。不要添加更多預(yù)覽界面控制器到你的 storyboard 上。

實(shí)現(xiàn)一個(gè)預(yù)覽界面控制器

實(shí)現(xiàn)預(yù)覽界面控制器是相當(dāng)簡單的,因?yàn)橹恍枰O(shè)置預(yù)覽容器的標(biāo)簽和圖像。所以你的預(yù)覽通常只需要實(shí)現(xiàn)兩個(gè)步驟。

  • 使用 initawakeWithContext: 方法去初始化你的預(yù)覽界面并設(shè)置它的標(biāo)簽和圖像的初始值。
  • 根據(jù)最近的變化使用 willActivate 去更新預(yù)覽界面。

使用一個(gè) NSTimer 對象周期地變化更新它在屏幕上預(yù)覽的內(nèi)容。你無需更新 WKInterfaceDateWKInterfaceTimer 對象,因?yàn)樗鼈兪亲詣?dòng)更新的。

定制點(diǎn)擊預(yù)覽之后的啟動(dòng)方式

當(dāng)用戶觸摸預(yù)覽,蘋果手表會(huì)啟動(dòng)相應(yīng)的手機(jī)插件應(yīng)用。通常,啟動(dòng)的應(yīng)用之后會(huì)展示它的主界面控制器。如果需要定制點(diǎn)擊預(yù)覽之后的啟動(dòng)方式,按照如下步驟:

  • 在預(yù)覽界面控制器里:
    • 配置預(yù)覽界的通用方法 initwillActivate
    • 調(diào)用 updateUserActivity:userInfo:webpageURL: 方法,并用 userInfo 屬性去傳遞預(yù)覽的狀態(tài)信息給你的應(yīng)用。在啟動(dòng)的時(shí)候,你的應(yīng)用可以用上下文信息來展示不同的界面控制器。
  • 在你的主要界面控制器里:
    • 實(shí)現(xiàn) handleUserActivity 方法,用提供的 userInfo 字典去適當(dāng)配置你的 UI。

在啟動(dòng)的時(shí)候,調(diào)用 updateUserActivity:userInfo:webpageURL: 方法告訴手表插件調(diào)用主界面控制器的 handleUserActivity: 方法。用系統(tǒng)提供的的上下文數(shù)據(jù)適當(dāng)?shù)嘏渲媚愕?UI。例如,一個(gè)基于頁面的界面應(yīng)用,可以用這些提供的數(shù)據(jù)信息去選擇初始化時(shí)展示哪一頁。

上一篇:預(yù)覽概要下一篇:設(shè)置