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
以获得所需的结果。
我的应用程序的入职流程中有一个 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
以获得所需的结果。