我需要在当前视图中获取所有标签。可能吗?如果是,请告知我如何实现这一目标?
例如,我需要从启动屏幕收集所有标签,然后从当前显示的弹出窗口等收集
谢谢!
答案 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];
让我知道它是否有效