Время отклика WKInterfaceButton

Приложение «Мои часы» содержит цифровую клавиатуру, созданную из WKInterfaceButtons. Довольно просто, каждая кнопка представляет цифру (0-9) и имеет IBAction, который обновляет один WKInterfaceLabel. IBActions не содержат никакой тяжелой работы (никаких обращений к веб-сервисам или обновлений данных ядра), просто конкатенация выбранной цифры с уже введенным числом и обновление текста метки.

Теперь, если я быстро нажимаю одну и ту же кнопку дважды или более раз, то иногда кнопка не реагирует на следующее нажатие (такое ощущение, что касание все еще активно, а кнопка еще не реагирует). Я понимаю, что любое взаимодействие с часами требует двусторонней связи между часами и iPhone, но все же оно работает намного медленнее, чем другие приложения для часов, которые я видел, которые реализуют аналогичную цифровую клавиатуру. Есть идеи, как я могу улучшить время отклика кнопки?


person sash    schedule 15.05.2015    source источник


Ответы (2)


Вы не можете улучшить время отклика. Взаимодействия с пользовательским интерфейсом WatchKit отправляются через Bluetooth в расширение вашего приложения. Затем расширение обеспечивает обратную связь с пользовательским интерфейсом в Apple Watch.

Таким образом, задержка зависит от соединения между Apple Watch и телефоном, и вы никогда не сможете ее контролировать.

person Schemetrical    schedule 15.05.2015
comment
Эта ситуация может улучшиться, когда Apple разрешит сторонним разработчикам создавать настоящие приложения для Apple Watch (а не только расширения). :-) - person vomako; 15.05.2015
comment
Надеюсь на это на WWDC15 @vomako - person Schemetrical; 15.05.2015

Не знаю, почему, но WKInterfaceButton с типом контента Text вызывал задержку. Изменение типа содержимого кнопки на Group вместо Text и добавление метки внутри нее устранило проблему. Теперь кнопки реагируют мгновенно.

person sash    schedule 18.05.2015