UIPageControl配音问题

时间:2019-01-15 15:56:44

标签: ios accessibility uipagecontrol voiceover

我的应用程序启动过程中有一个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

我为更完整的示例创建了一个test project on github

1 个答案:

答案 0 :(得分:0)

达到目的的一种方法是子类 DataSet[Person]覆盖 UIpageControl属性,如下所示:

accessibiliTraits

将pageControl元素定义为class MyPageControl: UIPageControl { override var accessibilityTraits: UIAccessibilityTraits { get{ return .none } set{} } } ,以获得所需的结果。