Я показываю UITabBar
в своем приложении и пытаюсь назначить кнопкам accessibilityIdentifier
s. Для этого я использую следующие строки в каждом из моих представлений контроллеров конкретизации:Добавление accessibilityIdentifier в UITabBarButton
viewController.tabBarItem.accessibilityIdentifier = @"ViewControllerID";
Эти viewControllers все добавляются в UITabBar
как так:
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];
Итак, что я думаю, должно происходить здесь мы захватили tabBarItem
, который правильно установил accessibilityIdentifier
(когда я установил контрольные точки, accessibilityIdentifier
каждого контроллера вида - это то, что я ожидаю.) Тогда, когда он фактически отображается, нет accessibilityIdentifier
.
Вещи, которые я заметил:
IOS использует UITabBarButton
вместо UITabBarItem
. Я думаю, что это как-то связано с этим. Когда я распечатываю массив items
панели вкладок, каждый из элементов имеет правильный accessibilityIdentifier
, однако ни один из объектов UITabBarButton
не имеет accessibilityIdentifier
соответствующего элемента панели вкладок.
Кто-нибудь знает, почему идентификатор доступности отсутствует, из-за отсутствия лучшего слова, «переносящего» на объект UITabBarButton
, который использует iOS?
Я вижу такое же поведение, я думаю, это стоит подать радар в яблоко. –
Вы когда-нибудь находили решение или обходное решение для этого? Я реализую UITests и пытаюсь получить правильный tabBarItem, не полагаясь на заголовок в кнопке (локализация). – Sti