Apple Watch(WatchKit)推动行动

时间:2014-11-26 23:05:11

标签: objective-c swift watchkit apple-watch

我正在为Apple Watch开发一个应用程序,我想使用在用户推入屏幕(而不是点按)的启动活动中演示的操作。你知道这叫什么以及如何访问它吗?

3 个答案:

答案 0 :(得分:3)

您只能在该操作上显示菜单。您在WKInterfaceController上使用addMenuItem方法。

答案 1 :(得分:2)

您所指的手势称为Force Touch

可以在第三方应用中使用Force Touch作为输入法。但是,您无法注册接收Force Touch事件的通知;目前在WatchKit中没有任何东西等同于UIGestureRecogniser。

当您在WatchKit应用程序的当前屏幕中有一个上下文菜单时,当用户启动强制触摸时,操作系统将自动激活该菜单。您可以通过单击并按住鼠标在Apple Watch模拟器中模拟此...即使在未启用上下文菜单的屏幕上,即使已启动Force Touch,结果动画也会清除。

要通过Interface Builder使用它,您只需:

  1. 将菜单拖到界面构建器中的相关Watch App场景中。
  2. 将一到四个菜单项添加到菜单中,方法是将它们拖到菜单中。
  3. 设置这些菜单项的名称和图像。
  4. 将这些菜单项连接到WatchKit Extension中的IBActions。
  5. 或者,您可以以outlined in the WatchKit API documentation的形式从WatchKit扩展程序以编程方式设置和清除菜单项。有四个相关的WKInterfaceController方法。在斯威夫特:

    func addMenuItemWithItemIcon(_ itemIcon: WKMenuItemIcon,
                       title title: String,
                      action action: Selector)
    
    func addMenuItemWithImageNamed(_ imageName: String,
                         title title: String,
                        action action: Selector)
    
    func addMenuItemWithImage(_ image: UIImage,
                    title title: String,
                   action action: Selector)
    
    func clearAllMenuItems()
    

    在Objective-C中:

    - (void)addMenuItemWithItemIcon:(WKMenuItemIcon)itemIcon
                          title:(NSString *)title
                         action:(SEL)action
    
    - (void)addMenuItemWithImageNamed:(NSString *)imageName
                            title:(NSString *)title
                           action:(SEL)action
    
    - (void)addMenuItemWithImage:(UIImage *)image
                       title:(NSString *)title
                      action:(SEL)action
    
    - (void)clearAllMenuItems
    

    完整信息在Configuring the Contextual Menu in WatchKit的API文档中。

    第一次创建其中一个菜单时,特别是如果在Interface Builder中执行此操作,可能会觉得您必须错过一个步骤,因为您不必将菜单连接到相当于力的东西触摸手势识别器,但是当你尝试它时,你会发现它有效。即使我们有能力在2015年晚些时候为Watch制作原生应用程序,这可能仍然是第三方开发人员必须强制接触的唯一访问权限。

答案 2 :(得分:0)

它被称为上下文菜单。您可以使用addMenuItem或在故事板中添加项目附带的菜单,然后添加其他项目。