在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

上下文菜單

Apple Watch 上 Retina 屏的 Force Touch 提供了一種新的與內(nèi)容交互的方式。與點(diǎn)擊屏幕上的項(xiàng)目不同,該特性需要一定的壓力才能激活與當(dāng)前界面控制器相關(guān)的上下文菜單(如果有的話)。上下文菜單是可選擇的。您用上下文菜單顯示與當(dāng)前屏幕相關(guān)的操作。WatchKit 在內(nèi)容之上顯示菜單,如圖 11-1。

圖 11-1 一個(gè)包含三個(gè)項(xiàng)目的上下文菜單

http://wiki.jikexueyuan.com/project/apple-watch-programming-guide/images/context_menu_2x.png" alt="" />

上下文菜單可以顯示多達(dá) 4 個(gè)動(dòng)作(action)。每個(gè)動(dòng)作由一個(gè)標(biāo)題和一張圖片表示。點(diǎn)擊某個(gè)動(dòng)作的圖片會(huì)關(guān)閉菜單并執(zhí)行相應(yīng)的方法。點(diǎn)擊屏幕上其他的地方只能關(guān)閉菜單。

設(shè)計(jì)菜單項(xiàng)

每個(gè)菜單項(xiàng)包含一個(gè)可點(diǎn)擊區(qū)域和一個(gè)標(biāo)題??牲c(diǎn)擊區(qū)域包括圓形背景,頂部是您所提供的圖片。這張圖片必須是模板圖片,其 alpha 通道決定了繪制在背景頂部的形狀。圖片的不透明部分顯示為黑色,全部或者部分半透明可透出背景顏色。

您所提供的模板圖片應(yīng)當(dāng)比它們所在的圓形背景要小一點(diǎn)。關(guān)于菜單圖片的尺寸和創(chuàng)建圖片指南的更多信息,請(qǐng)參考 Apple Watch Human Interface Guidelines。

為界面控制器添加上下文菜單

您可以在設(shè)計(jì)時(shí)配置界面控制器的上下文菜單,但是也可以在運(yùn)行時(shí)添加和移除菜單項(xiàng)。在設(shè)計(jì)時(shí),編輯 storyboard 包括您想在指定的界面控制器上顯示的菜單項(xiàng)。當(dāng)之后初始化界面控制器的時(shí)候,您可以添加菜單項(xiàng)來補(bǔ)充在 storyboard 中所創(chuàng)建的。通過代碼創(chuàng)建的菜單項(xiàng)也可以刪除。不管您是在 storyboard 中拖入菜單項(xiàng)還是通過代碼添加,菜單中的菜單項(xiàng)不能超過 4 個(gè)。

在界面控制器中添加上下文菜單

  1. 打開 storyboard 文件。
  2. 從工具庫(kù)(library)中拖拽一個(gè)菜單對(duì)象并添加到界面控制器場(chǎng)景中。
    最初的菜單包含一個(gè)單獨(dú)的菜單項(xiàng)。
  3. 最多從工具庫(kù)中拖拽 3 個(gè)菜單項(xiàng)到菜單中。
    您也可以用菜單的屬性檢查器(Attributes inspector)來設(shè)置菜單項(xiàng)的數(shù)量。您所添加的菜單項(xiàng)不能通過編程刪除。
  4. 對(duì)于每一個(gè)菜單項(xiàng),用屬性檢查器(Attributes inspector)指定菜單的標(biāo)題和圖片。兩者都是需要的。
  5. 在界面控制器類中將每個(gè)菜單項(xiàng)與操作方法連接起來。
    菜單的操作(action) 方法有以下格式:
    - (IBAction)doMenuItemAction
  6. 保存storyboard文件。

想要在運(yùn)行時(shí)添加菜單項(xiàng),調(diào)用界面控制器對(duì)象的 addMenuItemWithImage:title:action: 或者 addMenuItemWithImageNamed:title:action: 方法。您指定的菜單項(xiàng)被附加到 storyboard 文件的菜單中。通過編程方式一直附屬于菜單直到你明確移除它們或者界面控制器被銷毀。

處理菜單項(xiàng)的點(diǎn)擊

當(dāng)用戶點(diǎn)擊菜單項(xiàng)時(shí),WatchKit 關(guān)閉菜單并調(diào)用相關(guān)的動(dòng)作方法。您可以在界面控制器中通過下面的語法來定義動(dòng)作方法:

// SWIFT
@IBAction func doMenuAction() {
    // Handle menu action.
}
// OBJECTIVE-C
- (IBAction)doMenuItemAction {
    // Handle menu action.
}

如果要求使用任何狀態(tài)信息來執(zhí)行操作,那您需要在界面控制器中存儲(chǔ)并保持這些信息。舉個(gè)例子來說,如果一個(gè)動(dòng)作依賴于表的當(dāng)前選中行,您的界面控制器必須包含一個(gè)變量來跟蹤當(dāng)前選中行。如果您需要用戶點(diǎn)擊菜單動(dòng)作之后的更多信息,那動(dòng)作方法必須顯示一個(gè)模態(tài)界面控制器。

上一篇:文本與標(biāo)簽下一篇:圖片