【问题标题】:iOS, Accessibility - accessibilityElementsHidden = NO; does not take immediate effectiOS,辅助功能-accessibilityElementsHidden = NO;不会立即生效
【发布时间】:2021-10-16 13:56:36
【问题描述】:

设置self.listViewController.view.accessibilityElementsHidden = NO;不会立即生效。

当您仍然可以使用辅助功能向右滑动时,还有几分之一秒,辅助功能焦点会跳转到该 listViewController 并保持在那里,被覆盖 listViewController的主视图挡住>

self.listViewController.view.accessibilityElementsHidden = NO; 是我在传递给 button.addtarget 的方法中做的第一件事,但它仍然太慢而无法禁用选定的子视图。

这可能是什么原因?

谢谢。

【问题讨论】:

  • 你能显示你的代码listViewController 启动吗?并最终将其添加到视图层次结构中?也许您正在使用UINavigationController 或模态礼物? getter .view 可能正在初始化 VC 视图,具体取决于它何时被调用。这可能是导致处理延迟的地方。我将探索的一条路线是从其超级视图中删除该视图。准备可访问性,然后才将其重新添加为子视图。视图层次结构之外的视图无法接收用户输入。
  • 遗憾的是我无法分享更多代码,但我们通过我刚刚发布的 UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil); 找到了解决方案。还是谢谢你。

标签: ios swift objective-c iphone accessibility


【解决方案1】:

我的一个朋友帮我解决了这个问题。

我们用过..

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil);

..更新新屏幕,在发送者触发布局更改之后,以及在隐藏self.listViewController.view.accessibilityElementsHidden = NO;之后立即进行

我们将第二个参数设置为 nil,因为通知重新聚焦需要一些时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多