如何以编程方式获取WKInterfaceGroup对象的背景颜色?
您可以set the value使用
- (void)setBackgroundColor:(nullable UIColor *)color;
但是你也能得到它吗?
答案 0 :(得分:2)
您可以在界面对象上设置值,但无法获取其属性的当前值。
这个答案可以在WKInterfaceObject
超类文档中找到:
扩展程序中的接口对象与Watch应用程序中相应的界面元素之间的通信是一种方式。您可以设置接口对象的值,但无法获取当前值。如果您想知道属性的当前值,则必须自己保存该值。
以下示例说明如何维护组颜色的值:
@IBOutlet weak var myGroup: WKInterfaceGroup!
var myGroupBackgroundColor: UIColor?
// Set the group's color, also save the color for future reference
myGroupBackgroundColor = UIColor.blue()
myGroup.setBackgroundColor(myGroupBackgroundColor)
然后,您可以使用myGroupBackgroundColor
属性获取群组的当前颜色。
答案 1 :(得分:0)
看起来没有办法获取背景颜色。
我之前从未使用过任何WatchKit,但在查看了WKInterfaceGroup类并稍微阅读之后,我就了解了WatchKit的工作原理。
看起来Apple希望沟通(至少在我看过的文件范围内)是一种方式。也就是说,他们不希望您从手表到应用级别检索类似的内容。他们希望您告诉手表该做什么,手表只接收这些东西(如颜色,插图,圆角半径等)。
这是我得出的结论(不确定我是否正确)。现在,如果您需要从WKInterfaceGroup获取背景颜色,那么您可以继续尝试找到解决方案。我不知道是否有可能。我建议尝试从WKInterfaceGroup找到需要此属性的替代解决方案。