在当前视图中获取标签

时间:2014-01-24 14:03:36

标签: ios7 automation

我需要在当前视图中获取所有标签。可能吗?如果是,请告知我如何实现这一目标?

例如,我需要从启动屏幕收集所有标签,然后从当前显示的弹出窗口等收集

谢谢!

2 个答案:

答案 0 :(得分:1)

这是要走的路----

NSMutableArray *labels = [NSMutableArray array];
for (UIView *v in someSuperview.subviews) {
if ([v isKindOfClass:[UILabel class]]) {
    [labels addObject:v];
   }
}

答案 1 :(得分:0)

假设您要在数组中收集标签,可以尝试:

for (UIView *subview in self.view.subviews)
{
    if(subview isKindOfClass:[UILabel class])
    {
        [arrayOfLabels addObject:subview];
    }
}

如果您希望通过accessibilityLabel执行此操作,以下是从给定的accessibilityLabel获取视图的步骤。方法viewContainingAccessibilityElement:element是UIAccessibilityElement类的扩展方法。

UIAccessibilityElement *element = [[UIApplication sharedApplication] accessibilityElementWithLabel:label];
UIView *view = (UIView*)[UIAccessibilityElement viewContainingAccessibilityElement:element];

让我知道它是否有效

相关问题