UIPageControl проблема с передачей голоса - PullRequest
0 голосов
/ 15 января 2019

У меня есть UIPageControl в процессе подключения моего приложения. Его цель не в том, чтобы менять страницы вручную, а как указание процесса пользователя в течение всего процесса адаптации. (Прямо сейчас нет жестов)

Все выглядит хорошо, но VoiceOver позволяет пользователю увеличивать или уменьшать элемент управления и говорит, что он может быть изменен (кажется, он сохраняет .adjustable в качестве признака). Я не хочу такого поведения. Я просто хочу, чтобы VoiceOver прочитал «Страница 1 из 3». Я отключил его, изменил его accessibilityTraits, и он не влияет на VoiceOver.

Вот код.

    /// hard coded values for the example:
    pageControl.numberOfPages = 3
    pageControl.currentPage = 1
    pageControl.isEnabled = false
    pageControl.isUserInteractionEnabled = false
    pageControl.accessibilityTraits = .none

Я создал тестовый проект на github для более полного примера.

1 Ответ

0 голосов
/ 16 января 2019

Один из способов добиться цели - подкласс UIpageControl и переопределить свойство accessibiliTraits следующим образом:

class MyPageControl: UIPageControl {

    override var accessibilityTraits: UIAccessibilityTraits {
        get{
            return .none
        }
        set{}
    }
}

Определите ваш элемент pageControl как MyPageControl, чтобы получить желаемый результат.

...