2014-01-08 3 views
3

Глядя на добавление KIF в наше приложение для тестирования интеграции. Я хотел бы иметь возможность выбрать кнопку из UIActionSheet, но не похоже, что есть эффективный способ установить метки доступности на каждой кнопке в листе действий.Каков предпочтительный способ установки метки доступности на UIActionSheets

Я ищу использование доступного элемента Element, итерации через кнопки таким образом. Это предпочтительный способ сделать это или есть более стандартный способ настройки доступности для UIActionSheets?

ответ

3

От UIKit User Interface Catalog:

Действие листы доступны по умолчанию.

Доступность листов действий в основном относится к названиям кнопок. Если VoiceOver активирован, он говорит слово «предупреждение», когда отображается лист действий, а затем говорит свой заголовок, если он установлен (хотя рекомендации по человеческому интерфейсу iOS рекомендуются в отношении листов действия титрования). Когда пользователь вводит кнопку в листе действий, VoiceOver говорит его название и слово «кнопка.»

Из Вашего вопроса не ясно, если вы хотите изменить метку доступности к чему-либо, кроме заголовка кнопки + но кажется, что это невозможно прямолинейно.

1

Вы должны реализовать UIActionSheetDelegate в своем классе.

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet { 
     for (UIView *_yourView in actionSheet.subviews) { 
      if ([_yourView isKindOfClass:[UILabel class]]) { 
       [((UILabel *)_yourView) setFont:[UIFont boldSystemFontOfSize:14.0f]]; 
      } 
     } 
    } 
-1

Если вы хотите иметь некоторые пользовательские контроля над UIActionSheet (с точки зрения тестирования с использованием КИФ), самый простой способ для меня, чтобы сделать это, заменял его UIAlertController, если вы имеете в виду, что подклассов невозможно в обоих классах, и если вы тестируете многоязычное приложение, такое как я, вы окажетесь в беде. Вы можете установить свойства в UIAlertAction, вот пример кода, так что вы можете иметь представление:

UIAlertAction* yesButton = [UIAlertAction 
          actionWithTitle:[LI18n localizedString:@"YES"] 
          style:UIAlertActionStyleDefault 
          handler:^(UIAlertAction * action) { 
           //Handle your yes please button action here 

          }]; 
yesButton.accessibilityLabel = @"YES_BUTTON"; 
+0

accessibilityLabel используется для тех, кто имеет проблемы со зрением, если они пытаются читать YES_BUTTON это будет беспорядок –

Смежные вопросы