Я разрабатываю приложение для Apple Watch и хотел бы использовать действие, демонстрируемое при запуске, когда пользователь нажимает на экран (а не касание). Вы знаете, как это называется и как я могу получить к нему доступ?
Apple Watch (WatchKit) push-действие
Ответы (3)
Вы можете показать меню только для этого действия. Вы используете методы addMenuItem в WKInterfaceController.
Жест, о котором вы говорите, называется Принудительное касание.
Можно использовать Force Touch в качестве метода ввода в сторонних приложениях. Однако вы не можете зарегистрироваться для получения уведомлений о событиях Force Touch; в настоящее время в WatchKit нет ничего эквивалентного UIGestureRecogniser.
Когда у вас есть контекстное меню на текущем экране вашего приложения WatchKit, оно будет автоматически активировано ОС, когда пользователь инициирует принудительное касание. Вы можете имитировать это в симуляторе Apple Watch, щелкнув и удерживая мышь... полученная анимация даст понять, когда было инициировано принудительное касание, даже на экранах, на которых не включено контекстное меню.
Чтобы использовать это через Interface Builder, вы просто:
- Перетащите меню в соответствующую сцену приложения Watch в конструкторе интерфейса.
- Добавьте от одного до четырех пунктов меню в меню, перетащив их в меню.
- Установите имена и изображения для этих пунктов меню.
- Подключите эти пункты меню к IBActions в вашем расширении WatchKit.
Кроме того, вы можете программно устанавливать и очищать элементы меню из своего расширения WatchKit, как изложено в документации WatchKit API. Существует четыре соответствующих метода 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()
В цели-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
Полная информация содержится в документации по API для Настройка контекстного меню в WatchKit.
В первый раз, когда вы создаете одно из этих меню, особенно если вы делаете это в Interface Builder, вполне может показаться, что вы пропустили какой-то шаг, поскольку вам не нужно было подключать меню к чему-то эквивалентному распознавателю жестов с принудительным касанием. , но когда вы попробуете, вы обнаружите, что это работает. Вполне возможно, что это останется единственным доступом сторонних разработчиков к принудительному касанию, даже после того, как позже в 2015 году у нас появится возможность создавать нативные приложения для часов.
это называется контекстным меню. вы можете сделать это с помощью addMenuItem или в раскадровках вы добавляете меню, которое идет с элементом, а затем добавляете дополнительные элементы.