我正在创建我的第一个 WatchOS 应用程序作为 iOS 应用程序的伴侣。
手表应用程序需要能够显示一个宾果球,其号码是从手机发送的。因为我不能用 WatchOS 覆盖图像,所以我创建了 6 个 WKInterfaceControllers。一个是“主”控制器,另外 5 个每个都有一个独特的背景图像,这是一个正确颜色(蓝色、红色、灰色、绿色和黄色)的宾果球,然后我用球的字母和数字覆盖一个标签(即 B14)。我找不到动态操作单个 WKInterfaceController 的背景图像的方法 - 但如果有办法这样做 - 我将非常感谢有关如何执行此操作的提示,并且我的其他问题将不存在。
目前,我正在使用主控制器中的 WatchConnectivity 来接收来自手机的更新。当电话发送一个号码时,代码确定它需要的颜色,然后以下代码为 WKInterfaceController 提供正确的颜色背景:
let nextName = "\(ballColor)Controller"
DispatchQueue.main.async {
self.presentController(withName: nextName, context: message)
WKInterfaceDevice().play(.click)
}
我遇到的问题是,一旦我激活了第一个颜色控制器,我就无法在不关闭当前活动的控制器的情况下激活不同的颜色控制器。
那么 - 我该怎么做呢?我想我只需要一种方法来保存对活动控制器的引用,这样我就可以在激活下一个球之前关闭它——但我不知道该怎么做。
如果有人能在这里帮助我指出正确的方向,我将不胜感激……
提前致谢