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