在Swift中检索WKInterfaceLabel的文本

10

如何在WatchKit中使用Swift或Objective-C获取标签的文本?
该类不是UILabel,而是WKInterfaceLabel。
我也尝试在苹果的类库中搜索,但只有三种方法可用。


1
又有一个受害者无法从WKInterfaceButton读取文本 :) https://dev59.com/O14d5IYBdhLWcg3wE_KP - Jageen
1
是的,也没有可用的手势识别器。 这非常糟糕。 - Mrugesh Tank
1
如果您找到了从WKInterfaceLabel获取文本的其他方法,请将其作为答案发布。 - Jageen
3个回答

6
通过阅读reference,您需要维护标签中设置的跟踪,看起来苹果非常严格限制这个类,您不能创建子类或直接实例化它。
他们只谈到如何设置文本,而不是获取文本。
没有任何一个超类有获取文本的方法。
如果可能的话,您可以创建WKInterfaceLabel的扩展并获取文本,但不知道苹果是否会批准。

我的结论是
没有任何直接的方式可以获取文本
你可以使用一些技巧,但必须确保其被苹果接受。


说实话,我对手表SDK不是很了解,但如果你正在处理任何测试版之类的东西,希望苹果会在新版本中添加该功能,因为他们已经写过了。
enter image description here


我所写的所有内容和图片的参考资料在这里


4

只需添加一个@property (nonatomic) NSString *currentText;,每次更新或设置WKInterfaceLabel时也进行更新或设置。

这不是最好的解决方案,但在Apple没有官方方法获取时,它可以工作。


目前我正在这样做。但是如果有其他选择,请告诉我。 - Mrugesh Tank
1
我一直在寻找一个库或类似的东西,但由于Apple Watch是如此新的设备,所以并没有太多相关资源。 - Grant Isom

1
苹果公司声明了仅具有setter属性和没有getter属性的WKInterfaceLabel类。
此屏幕截图显示WatchKit框架中存在的WKInterfaceLabel类声明。

Screenshot


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接