VoiceOver不能在横向滚动到屏幕外的元素?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VoiceOver不能在横向滚动到屏幕外的元素?相关的知识,希望对你有一定的参考价值。

如何在UIScrollView中将VoiceOver滚动到屏幕外的元素。

我有一个UIScrollView。在这里面是一个包含许多子视图的UIView。这些子视图中有标签 - 如下所示:

Scroll View
-> UIView
--> UIView
----> Label
--> UIView
----> Label
--> UIView
----> Label
--> UIView
----> Label
--> UIView
----> Label

当我在横向上启动我的应用程序时,我可以看到一些元素在屏幕外。我可以毫无问题地滚动到这些。但是,当使用VoiceOver时,我可以滑动以在屏幕上移动元素,但是应用程序不会通过单独滑动滚动浏览屏幕上的最后一个可见元素。如果我将iPad旋转到纵向模式,我可以滑动到无法访问的元素,并继续滑动到纵向模式下屏幕外的其他元素。我可以使用三指滑动向下移动到下一个“页面”并选择一个元素继续,但这不是我所期望的。我曾期望只是继续滑动,下一个元素将滚动到视图中。

该应用程序是使用Xcode 6.4在Swift 1.2中编写的,我在运行ios 8.4的iPad Mini 2上运行该应用程序

有任何想法吗?

答案

您有责任滚动以响应焦点更改。使用UIAccessibilityFocus Protocol监视当前焦点,并在关闭屏幕外元素时以编程方式滚动视图。

另一答案

accessibilityElements

容器中可访问性元素的数组。您可以实现此属性而不是动态方法来支持检索包含的元素。此属性的默认值为nil

您可以按以下方式重新分配辅助功能视图的accessibilityElements的值:

self.containerView.accessibilityElements = [self.label1,
                                            self.label2,
                                            self.label3,
                                            self.label4,
                                            self.label1]


self.scrollView.accessibilityElements = [self.containerView]

以上是关于VoiceOver不能在横向滚动到屏幕外的元素?的主要内容,如果未能解决你的问题,请参考以下文章

iPad Safari 滚动会导致 HTML 元素消失并延迟重新出现

ListView能不能横向滚动解决办法

延伸到屏幕外的 HTML 表格

iCarousel 上的缩放变换显示屏幕外的区域

android文字横向滚动的自定义view

传奇2如何在服务端设置使用屏幕顶部横向滚动公告?