Как заставить VoiceOver читать текст, отличный от того, что находится в UITextView?

У меня есть UITextView, содержащий текст, предназначенный для зрячих пользователей. Я хочу добавить другой удобный для незрячих текст, который будет зачитываться при включенной функции VoiceOver. Я попытался добавить его как accessibilityLabel, но VoiceOver прочел оба текста. Как сделать так, чтобы при включенном VoiceOver читался только доступный текст?


person matchifang    schedule 03.12.2018    source источник
comment
Попробуйте установить значение доступности вместо метки доступности (или вместе с ней).   -  person Kane Cheshire    schedule 03.12.2018


Ответы (2)


он зачитывает только доступный текст, когда VoiceOver включен ниже, код полезен

UITextView.AccessibilityValue="Your Text";

В этом Вы передаете текст, который

person kevin patel    schedule 22.05.2019

Я не уверен, что можно озвучить текст, отличный от отображаемого, с помощью UITextView с VoiceOver... во всяком случае, я не нашел решения для этого.

VoiceOver используется не только слепыми, но и слабовидящими людьми, а это означает, что важно поддерживать связь между тем, что отображается, и тем, что озвучивается.

Использование UITextView означает, что его текст будет озвучен помимо возможной метки доступности, которую вы добавляете.

Если вы хотите, чтобы при включенной функции VoiceOver читался только доступный текст:

  • Прослушайте событие UIAccessibilityIsVoiceOverRunning.
  • Обновите текст вашего UITextView соответственно: myTextView.text = "text to be adapted to the context."

Выполнение этих шагов позволит вам достичь своей цели.

person XLE_22    schedule 04.12.2018