以编程方式获取WKInterfaceGroup的背景颜色(WatchKit)

时间:2016-06-27 13:46:30

标签: ios objective-c watchkit apple-watch watch-os-2

如何以编程方式获取WKInterfaceGroup对象的背景颜色?

您可以set the value使用

- (void)setBackgroundColor:(nullable UIColor *)color;

但是你也能得到它吗?

2 个答案:

答案 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找到需要此属性的替代解决方案。