UIPageControl画外音问题

UIPageControl voiceover issue

我的应用程序的入职流程中有一个 UIPageControl。它的目的不是手动更改页面,而是作为用户在整个入职过程中的指示。 (现在没有滑动手势)

一切看起来都很好,但 VoiceOver 让用户增加或减少控件,并说它可以更改(它似乎保留 .adjustable 作为特征)。我不想要那种行为。我只想让 VoiceOver 朗读 "Page 1 of 3"。我禁用了它,更改了它的 accessibilityTraits,它不影响 VoiceOver。

这是一些代码。

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

我创建了一个 test project on github 以获得更完整的示例。

实现目标的一种方法是 子类 UIpageControl覆盖 accessibiliTraits 属性如下:

class MyPageControl: UIPageControl {

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

将您的 pageControl 元素定义为 MyPageControl 以获得所需的结果。