Context Menu
Apple Watch では、画面をタップすることと、プレスすることの判定ができるようになりました。
画面を軽く触れて離すことを「タップ」画面を強く押し込み離すことを「プレス」です。
Apple Watch の画面が狭いことで多くの要素を画面に設置するのではなく直感的に操作ができるように
Context Menu を使います。
Context Menu はアプリケーション画面を長くプレスすることで1〜4までのメニューボタンを表示させることができます。
とても直感的で画面ごとにメニューを用意することが可能です。
WKMenuItemIcon
Apple 標準で用意されているメニューアイコンを指定するための列挙型
enum WKMenuItemIcon : Int {
case Accept // checkmark
case Add // '+'
case Block // circle w/ slash
case Decline // 'x'
case Info // 'i'
case Maybe // '?'
case More // '...'
case Mute // speaker w/ slash
case Pause // pause button
case Play // play button
case Repeat // looping arrows
case Resume // circular arrow
case Share // share icon
case Shuffle // swapped arrows
case Speaker // speaker icon
case Trash // trash icon
}
- Accept : チェックマーク
- Add : プラスマーク
- Block : ブロック、禁止マーク
- Decline : バツマーク
- Info : インフォメーションマーク
- Maybe : クエッションマーク
- More : 3ドットマーク
- Mute // 消音マーク
- Pause // 一時停止マーク
- Play // 再生マーク
- Repeat // リピートマーク
- Resume // 先頭再生マーク?
- Share // シェアーッマーク
- Shuffle // シャッフルマーク
- Speaker // ミュートの逆で、スピーカーマーク
- Trash // ゴミ箱マーク
addMenuItemWithImage
WKInterfaceController画面にメニューアイテムを追加する
func addMenuItemWithImage(image: UIImage, title: String, action: Selector)
- image: UIImage : メニューボタンに表示させるアイコン画像
- title: String : メニューボタンに表示させるタイトル文字
- action: Selector : ボタンが押された時に呼ばれるメソッドのセレクタ
addMenuItemWithImageNamed
WKInterfaceController画面にメニューアイテムを追加する
func addMenuItemWithImageNamed(imageName: String, title: String, action: Selector)
- imageName: String : メニューボタンに表示させるアイコン画像名
- title: String : メニューボタンに表示させるタイトル文字
- action: Selector : ボタンが押された時に呼ばれるメソッドのセレクタ
addMenuItemWithItemIcon
WKInterfaceController画面にメニューアイテムを追加する
func addMenuItemWithItemIcon(itemIcon: WKMenuItemIcon, title: String, action: Selector)
- itemIcon: WKMenuItemIcon : メニューボタンに表示させる標準で用意されているアイコン
- title: String : メニューボタンに表示させるタイトル文字
- action: Selector : ボタンが押された時に呼ばれるメソッドのセレクタ
clearAllMenuItems
WKInterfaceController画面に設定されたメニューアイテムをすべて削除する
func clearAllMenuItems()
使用例
self.addMenuItemWithItemIcon(.Accept, title: "Accept", action: "doMenuActionFromAccept")
self.addMenuItemWithItemIcon(.Decline, title: "Decline", action: "doMenuActionFromDecline")
self.addMenuItemWithItemIcon(.Maybe, title: "Maybe", action: "doMenuActionFromMaybe")
self.addMenuItemWithItemIcon(.Mute, title: "Mute", action: "doMenuActionFromMute")
----
@IBAction func doMenuActionFromAccept() {
// Accept メニューがされた時の処理
}
@IBAction func doMenuActionFromDecline() {
// Decline メニューがされた時の処理
}
@IBAction func doMenuActionFromMaybe() {
// Maybe メニューがされた時の処理
}
@IBAction func doMenuActionFromMute() {
// Mute メニューがされた時の処理
}