Я создаю свое первое приложение WatchOS в качестве дополнения к приложению iOS.
Приложение Watch должно иметь возможность отображать мяч для бинго, номер которого отправляется с телефона. Поскольку я не могу накладывать изображения на WatchOS, я создал 6 WKInterfaceControllers. Один из них является «основным» контроллером, а остальные 5 имеют уникальное фоновое изображение, представляющее собой шар для бинго правильного цвета (синий, красный, серый, зеленый и желтый), а затем я накладываю метку с буквой и номером шара. (т. е. B14). Я не мог найти способ динамического управления фоновым изображением одного WKInterfaceController - но если бы был способ сделать это - я был бы очень признателен за совет, как это сделать, и моя другая проблема не существовала бы.
В настоящее время я использую WatchConnectivity из основного контроллера для получения обновлений с телефона. Когда телефон отправляет номер, код определяет цвет, которым он должен быть, а затем следующий код предоставляет WKInterfaceController правильный цвет фона:
let nextName = "\(ballColor)Controller"
DispatchQueue.main.async {
self.presentController(withName: nextName, context: message)
WKInterfaceDevice().play(.click)
}
Проблема, с которой я столкнулся, заключается в том, что, как только я активирую первый контроллер цвета, я не могу активировать другой контроллер цвета, не отключив текущий активный.
Итак - как я могу это сделать? Я думаю, что мне просто нужен способ сохранить ссылку на активный контроллер, чтобы я мог отклонить его, прежде чем активировать для следующего шара, - но я не могу понять, как это сделать.
Я был бы признателен, если бы кто-то мог помочь мне указать правильное направление здесь ...
Заранее спасибо