Обновление строки на Apple Watch Label (WKInterfaceLabel) задерживается до десятков секунд - PullRequest
0 голосов
/ 21 мая 2019

У меня есть макет часов Apple с одной меткой (WKinterfaceLabel).Обновление текста метки частично работает;последнее обновление метки (на симуляторе) задерживается на десятки секунд, иногда около минуты.

Вот что я сделал:

Мой макет часов с яблоком включает в себя одну метку (WKinterfaceLabel) сверху;под ним я разместил группу, которая покрывает остальную часть экрана, желтую область.

enter image description here

Я поместил Распознаватель жестов Pan сверхужелтой области, и я подключил его к

    @IBAction func handleGesture(recognizer: WKPanGestureRecognizer) 

Вот что появляется на симуляторе;это как ожидалось и правильно: enter image description here

Код в class InterfaceController: WKInterfaceController получает координаты от распознавателя жестов и печатает их на консоли, а также обновляет текст метки.Аннотация включает в себя «начало» для мыши, «изменение» для перемещения мыши и «окончание» для мыши вверх.

{
    @IBOutlet weak var inputLabel: WKInterfaceLabel!
    @IBAction func handleGesture(recognizer: WKPanGestureRecognizer) {
        var state = "unknown"
        if recognizer.state == WKGestureRecognizerState.began {
            state = "began"
        } else if recognizer.state == WKGestureRecognizerState.changed {
            state = "changed"
        } else if recognizer.state == WKGestureRecognizerState.ended {
            state = "ended"
        }

        let message = "\(state) \(recognizer.locationInObject())"
        print (message)
        inputLabel.setText(message)
    }

При перемещении указателя мыши в желтой области на симуляторе создается правильный вывод на консоли .

(в 4:07:17)

enter image description here

Но метка обновляется только до последнего («измененного») пункта назначения, дажехотя распечатка на консоли показывает, что «завершенное» событие также получено и использовалось для обновления метки.

(в 4:07:27)

enter image description here

Ярлык обновляется только десять, двадцать, а иногда и больше

(в 4:07:57)

enter image description here

Итак, вопросы:

  1. Почему такая чрезмерная задержка?
  2. Как я могу предотвратить это?

Спасибо за вашу помощь и понимание!

...