gpt4 book ai didi

ios - 如何设置可访问性容器以使手势正常工作?

转载 作者:行者123 更新时间:2023-12-04 08:15:51 25 4
gpt4 key购买 nike

我有一个具有这种布局的 View Controller (请注意黄色和表格 View 是兄弟 View ):
enter image description here
我希望黄色 View 充当容器,因此我在 viewDidLoad 中执行此操作:

yellowView.isAccessibilityElement = true
view.accessibilityElements = [yellowView!, tableView!]
在旁白中,我从可访问性转子中选择“容器”,并希望能够上下滑动以从黄色 View 移动到表格 View 并再次返回:
黄色(向下滑动)→ TableView(向下滑动)→ Tabbar(向上滑动)→ tableView(向上滑动)→ 黄色
然而,事实并非如此 - 在 tableView 之后获得焦点,向上滑动不会将焦点移动到黄色 View ,它只是停在那里。向下滑动,移动到选项卡栏 - 似乎我的自定义 View 被忽略为容器。
我已经尝试了许多添加 super View 和设置的组合 isAccessibilityElement = false对他们来说,但似乎没有任何效果。
有谁知道如何解决这个问题?

最佳答案

it seems that my custom view is ignored as container.


显然,只有原生元素可以被识别为转子的容器。🤨
我尝试创建一个 UIAccessibilityElement在定义为其容器的 View 中,带有 accessibilityContainerType但是没有结果🤯
我从不将转子与容器项目一起使用,但这个问题引起了我的好奇。 🤓
我调查了这个问题,发现了一个 interesting answer这突出了所有 native 容器的相同 a11y 特征值……至少由 VoiceOver 分析的那些。
例如,按如下方式覆盖特定容器的特征值:
override var accessibilityTraits: UIAccessibilityTraits {
get { return UIAccessibilityTraits(rawValue: 0x200000000000) }
set { }
}
这是一种解决方法 因为对于自定义容器似乎没有做任何其他事情,但我不喜欢使用可能会更改或可能不会在 future 版本中使用的原始值。
无论如何,按照这个原理, 您现在可以设置辅助功能容器,以便手势与 VoiceOver 转子一起正常工作 . 👍

关于ios - 如何设置可访问性容器以使手势正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65707479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com