Как правило, рекомендуется распространять стандартный элемент управления для выполнения специального поведения, которое вам нужно. Как автор полностью настраиваемого контроля, вы несете ответственность за большую доступность.
Эксперимент с использованием UISlider
с использованием VoiceOver на вашем устройстве. Посмотрите, как он себя ведет. Вы хотите сохранить как можно больше этого опыта, когда вы реализуете свой собственный контроль. Вы можете использовать Accessibility Inspector in Simulator, чтобы изучить конфигурации доступности системных элементов управления.
следующие шаги почти наверняка актуальны:
- Override или установить
- (BOOL)isAccessibilityElement
вернуть YES
.
- Заменить или установить
- (CGRect)accessibilityFrame
, чтобы вернуть соответствующий прямоугольник в координатах экрана.
- Переопределить или установить
- (UIAccessibilityTraits)accessibilityTraits
, чтобы включить UIAccessibilityTraitAdjustable
.
- Переопределить
- (NSString *)accessibilityValue
, чтобы описать текущее значение вашего элемента управления.
- Внесите
- (void)accessibilityIncrement
и - (void)accessibilityDecrement
, чтобы выполнить изменения стоимости, запрошенные вспомогательными клиентами, такими как VoiceOver.
Помимо вышеперечисленных шагов, я не могу сказать, что требуется для вашего конкретного элемента управления, без дополнительной информации. Если вы застряли, просмотрите Accessibility Programming Guide, UIAccessibility Protocol documentation и UIAction protocol documentation и вернитесь в StackOverflow с любыми оставшимися вопросами.
Удачи вам и благодарю вас за то, что вы уделяете этому внимание, которого оно заслуживает.
Мне нужно вернуться, чтобы дать лучший ответ, но просто публиковать объявление, когда изменение ценности - неправильный подход. Он не будет вести себя как другие слайдеры, не улучшает доступность для пользователей других вспомогательных технологий, таких как Switch Control, и может быть непонятен для пользователей VoiceOver. – Justin