获取WKInterfaceObject类的属性

时间:2016-01-23 18:11:33

标签: ios watchkit

有没有人找到一种方法来检索WKInterfaceObject的属性,例如内容框架或字体属性?似乎有设置这些属性的功能,但没有访问现有属性。

我正在尝试使用WKInterfaceLabel.setAttributedText()设置文本,例如“XXXyy”,其中“yy”部分设置为比原始字体大小的百分比小的字体。但我找不到任何方法来访问原始字体大小。我也无法通过访问对象的尺寸来找到近似的方法。目前我正在通过硬编码字体大小来处理,但这变得越来越困难,因为我需要在故事板中指定特定于设备的字体属性。

1 个答案:

答案 0 :(得分:1)

正如您从the documentation看到的那样,WKInterfaceObject没有getter方法。

  

扩展程序中的界面对象与Apple Watch上的相应视图之间的通信是一种方式,信息从WatchKit扩展程序流向Apple Watch。换句话说,您在接口对象上设置值,但无法获取其属性的当前值。从Apple Watch检索数据,进行更改以及将这些更改写回设备会产生性能和延迟问题。因此,建议您在WatchKit扩展中维护有关接口配置的信息。

您无法从WatchKit对象本身获取Storyboard设置的特定于设备的属性。

一种可能的解决方法是为XXX和yy字符串使用两个相邻的标签。然后,您可以在Storyboard中指定相对较小(系统或文本样式)的字体以及原始字体。