我正在为Apple Watch开发一个应用程序,我想使用在用户推入屏幕(而不是点按)的启动活动中演示的操作。你知道这叫什么以及如何访问它吗?
答案 0 :(得分:3)
您只能在该操作上显示菜单。您在WKInterfaceController上使用addMenuItem方法。
答案 1 :(得分:2)
您所指的手势称为Force Touch。
可以在第三方应用中使用Force Touch作为输入法。但是,您无法注册接收Force Touch事件的通知;目前在WatchKit中没有任何东西等同于UIGestureRecogniser。
当您在WatchKit应用程序的当前屏幕中有一个上下文菜单时,当用户启动强制触摸时,操作系统将自动激活该菜单。您可以通过单击并按住鼠标在Apple Watch模拟器中模拟此...即使在未启用上下文菜单的屏幕上,即使已启动Force Touch,结果动画也会清除。
要通过Interface Builder使用它,您只需:
或者,您可以以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或在故事板中添加项目附带的菜单,然后添加其他项目。