1

我知道 WKInterfaceLabel 没有 getter 方法,但是我还有另一种方法可以将标签文本与另一个字符串进行比较吗?如果这不是一个手表应用程序并且我使用的是 UILabel 我可以这样做:

if ([self.label.text isEqualToString:someString]) {

    }
4

1 回答 1

6

正如您所说,没有支持获取文本的方法,但是您可能希望将可访问性元素用作“选项”。

这是想法:

当设置 self.label 文本(在代码或故事板中)时,还设置相应的可访问性标签/值。当您需要读取/更新标签文本时,只需确保使用可访问性值即可。

self.label.text = @"foo";
self.label.accessibilityValue = @"foo";

if ([self.label.accessibilityValue isEqualToString:someString]) {
   self.label.text = @"bar";
   self.label.accessibilityValue = @"bar";
   ...
}

另外,这就是您无论如何使用可访问性的方式,因此它是合法的。可能还有其他方法可以完成,但这似乎是做你想做的最快和最安全的方法。

于 2015-04-17T16:31:04.633 回答