AppleWatch开发入门五——菜单控件的使用

AppleWatch开发入门五——菜单控件的使用

1、简介

        菜单也是WatchOS中一个重要的交互方式,限于Watch的屏幕尺寸,若将全部用户交互控件都紧密的排列进展现的UI中,那样不免会使用户操做困难,也会影响界面布局的简洁美观。所以,WatchOS的菜单机制是一层覆盖在屏幕上的交互界面,有以下的特色:app

一、菜单是内置于InterfaceController中的,不需显式处理,只需对齐菜单项进行添加设置。ide

二、菜单最多能够容乃四个选项按钮。oop

三、经过重按能够呼出和隐藏菜单。布局

2、建立菜单的两种方式

一、经过storyBoard建立

        在storyBoard中,咱们能够将一个菜单控件拖入到interfaceController中:spa

在Menu中能够添加一些item,每一个item均可以设置图片和文字:code

图片的设置分为,自定义和系统两种,咱们可使用本身的图片做为菜单的图片,也可使用系统为咱们提供的一些图片,系统的图片参数是一个枚举,值以下:图片

public 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
}

这些枚举中提供了一些咱们经常使用的功能图标。ci

菜单按钮的触发方法,咱们能够经过拖拽Action的方式来添加,在Xcode7的模拟器中,咱们使用command+shift+2能够切换到重按模式,模拟器效果以下:开发

二、经过代码来添加菜单选项

        前面提到过,菜单是内含于InterfaceController中的一个控件,在Interface中咱们能够调用一些方法来添加菜单按钮,相关方法以下:it

    //添加一个菜单按钮,图片自定义
    public func addMenuItemWithImage(image: UIImage, title: String, action: Selector)
    public func addMenuItemWithImageNamed(imageName: String, title: String, action: Selector)
    //添加一个系统图片的按钮
    public func addMenuItemWithItemIcon(itemIcon: WKMenuItemIcon, title: String, action: Selector)
    //清除全部按钮
    public func clearAllMenuItems()

示例代码以下:

override func awakeWithContext(context: AnyObject?) {
        super.awakeWithContext(context)
      
        self.addMenuItemWithItemIcon(WKMenuItemIcon.Share, title: "分享", action:Selector("share"))
        self.addMenuItemWithItemIcon(WKMenuItemIcon.Decline, title: "取消", action: Selector("cancle"))
        self.addMenuItemWithItemIcon(WKMenuItemIcon.Add, title: "添加", action:Selector("add"))
    }

    func share(){
        print("分享")
    }
    func add(){
        print("add")
    }
    func cancle(){
        
    }

专一技术,热爱生活,交流技术,也作朋友。

——珲少 QQ群:203317592

相关文章
相关标签/搜索