美文网首页
十、iWatch常用控件基本用法之Menu

十、iWatch常用控件基本用法之Menu

作者: Dosun | 来源:发表于2017-03-10 11:06 被阅读354次
    1.png

    一、简介

    Context Menu,这是 WatchKit 独有的交互,在 iOS 中并不存在。在任意一个 WKInterfaceController 界面中,长按手表屏幕,如果当前WKInterfaceController中存在上下文菜单的话,就会尝试呼出找这个界面对应的 Context Menu。这个菜单最多可以提供四个按钮,用来针对当前环境向用户征询操作。因为手表屏幕有限,在信息显示的同时再放一些交互按钮是挺不现实的一件事情,也会很丑。而上下文菜单很好地解决了这个问题,相信长按呼出交互菜单这个操作会成为今后 Watch App 的一个很标准的交互操作。

    添加 Context Menu 非常简单,在 StoryBoard 里向 WKInterfaceController 中添加一个 Menu,并在这个 Menu 里添加对应的 MenuItem 就行了。 在 WKInterfaceController 我们也有对应的 API 来在运行时根据上下文环境进行 MenuItem 的添加 (这是少数几个允许我们在运行时添加元素的方法之一)。

    二、如何添加 menu

    如下图如何添加在Storyboard中增加Menu,Menu只能增加四个。


    2.png

    三、代码中添加menu

    通常通过代码添加控件时,本人都会先去阅读其API,只有知道其方法的接口和属性,如下将介绍其方法和代码添加menu
    如下是代码增加menu方法,首先加载Storyboard中的menu,如果Storyboard中的menu 大于四个,就不会加载控制器中的menu。

    方法
    //通过代码 加menu 图片,所有的参数,一定不能为空
    //第一个参数: UIImage
    //第二个参数:  menu 标题
    //第三个参数:点击事件
    - (void)addMenuItemWithImage:(UIImage *)image title:(NSString *)title action:(
     SEL)action;           // all parameters must be non-nil
    
    //通过代码 加menu 图片
    //第一个参数:图片名
    //第二个参数:  menu 标题
    //第三个参数:点击事件
    - (void)addMenuItemWithImageNamed:(NSString *)imageName title:(NSString *)title action:(SEL)action;
    
    //通过代码 加menu 图片,所有的参数,一定不能为空
    //第一个参数: 系统中自带的icon
    //第二个参数:  menu 标题
    //第三个参数:点击事件
    - (void)addMenuItemWithItemIcon:(WKMenuItemIcon)itemIcon title:(NSString *)title action:(SEL)action;
    
    //通过代码清除所有的menu
    - (void)clearAllMenuItems;
    
    用法
    - (void)awakeWithContext:(id)context {
        [super awakeWithContext:context];
        // Configure interface objects here.
        [self addMenuItemWithImageNamed:@"map-marker" title:@"我是第二个" action:@selector(clickAction)];  
    }
    
    -(void)clickAction{
    
        NSLog(@"点击");
    }
    

    四、注意

    自定menu图片不是随便图片都可以的,否则menu不会显示图片,本人就碰到过类似问题。如下是来自官方文档
    用户可以操作Menus的交互事件,每一个交互事件要有图片和文字,Menu的文字被限制成两行,所以文字要短。Menu 图标是样板图片, alpha channel而不是用color channels定义它的形状,如下图的标准

    3.png
    • 线条用四个相素点或者更高保证图片清晰,图片的比例要与iWatch相协调。
    • 用PNG格式的图片。
      Over,May maker help us all!Thank you a lot!!

    相关文章

      网友评论

          本文标题:十、iWatch常用控件基本用法之Menu

          本文链接:https://www.haomeiwen.com/subject/yrlngttx.html