Ich zeige eine UITabBar
in meiner App an und versuche, den Tasten accessibilityIdentifier
s zuzuweisen. Um dies zu erreichen, verwende ich die folgenden Zeilen in jedem meiner Ansicht-Controller instantiations:Hinzufügen von accessibilityIdentifier zu UITabBarButton
viewController.tabBarItem.accessibilityIdentifier = @"ViewControllerID";
Diese Viewcontrollers alle zum UITabBar
hinzukommen wie folgt:
NSMutableArray *tabBarItems = [NSMutableArray array];
for (NSInteger i=0; i<_viewControllers.count; i++) {
UIViewController *viewController = [_viewControllers objectAtIndex:i];
[viewController setCommonTabBarController:self];
[self addChildViewController:viewController];
if (i == 0) {
viewController.view.frame = self.currentTabView.bounds;
[self.currentTabView addSubview:viewController.view];
[self addConstraintsToSubView:viewController.view];
_selectedViewController = viewController;
_selectedIndex = 0;
}
[viewController didMoveToParentViewController:self];
[tabBarItems addObject:[viewController tabBarItem]];
}
[self.tabBar setItems:tabBarItems animated:animated];
Also, was ich denke, sollte geschehen Hier sind wir greifen die tabBarItem
, die die accessibilityIdentifier
korrekt eingestellt hat (wenn ich Haltepunkte setzen, die accessibilityIdentifier
von jedem View-Controller ist, was ich erwarte.) Dann, wenn es tatsächlich angezeigt wird, gibt es keine accessibilityIdentifier
.
Dinge, die ich habe bemerkt:
iOS ist UITabBarButton
statt UITabBarItem
verwenden. Ich denke, das hat etwas damit zu tun. Wenn ich das items
Array der Registerkartenleiste druckt, hat jedes der Elemente die richtige accessibilityIdentifier
, jedoch hat keines der UITabBarButton
Objekte die accessibilityIdentifier
des zugeordneten Tab-Leiste-Elements.
Weiß jemand, warum die Accessibility Identifier nicht, aus Mangel an einem besseren Wort, "durch" auf das Objekt UITabBarButton
, dass iOS verwendet?
Ich sehe das gleiche Verhalten, ich denke, das ist es wert, ein Radar nach Apple zu archivieren. –
Haben Sie jemals eine Lösung oder einen Workaround dafür gefunden? Ich implementiere UITests, und versuche, das richtige TabBarItem zu erhalten, ohne auf den Titel in der Schaltfläche (Lokalisierung) zu verlassen. – Sti