我的应用程序启动过程中有一个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。
答案 0 :(得分:0)
达到目的的一种方法是子类 DataSet[Person]
并覆盖 UIpageControl
属性,如下所示:
accessibiliTraits
将pageControl元素定义为class MyPageControl: UIPageControl {
override var accessibilityTraits: UIAccessibilityTraits {
get{
return .none
}
set{}
}
}
,以获得所需的结果。