iOS-可访问性方法-移动焦点

iOS-可访问性方法-移动焦点,ios,swift,accessibility,Ios,Swift,Accessibility,我正在开发一个应用程序,并试图使其尽可能容易访问。一旦某个动作发生,我就试图将注意力转移到某个元素上。我很好奇这两个函数之间的区别: UIAccessibilityFocusedElement与UIAccessibilityPostNotification 如果有人能解释两者的区别,我们将不胜感激 如果您试图根据操作/屏幕更改场景将焦点移动到某个元素 我想你应该看看: UIAccessibilityPostNotification(UIAccessibilityScreenChangedNoti

我正在开发一个应用程序,并试图使其尽可能容易访问。一旦某个动作发生,我就试图将注意力转移到某个元素上。我很好奇这两个函数之间的区别:

UIAccessibilityFocusedElement与UIAccessibilityPostNotification


如果有人能解释两者的区别,我们将不胜感激

如果您试图根据操作/屏幕更改场景将焦点移动到某个元素

我想你应该看看:

UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, element_to_be_focused>);
当出现包含屏幕主要部分的新视图时,应发布


当屏幕布局更改时,例如当单个元素出现或消失时,应发布。UIAccessibilityPostNotification用于更改内容(如聚焦元素,但也用于暂停和恢复辅助技术,如:

UIAccessibility.post(notification: .pauseAssistiveTechnology, argument: UIAccessibility.AssistiveTechnologyIdentifier.notificationSwitchControl)
UIAccessibility.post(notification: .resumeAssistiveTechnology, argument: UIAccessibility.AssistiveTechnologyIdentifier.notificationSwitchControl)
它还可以宣布一些事情:

UIAccessibility.post(notification: .announcement, argument: "Say something")
或在辅助功能滚动后刷新焦点

UIAccessibility.post(notification: .pageScrolled, argument: nil)
另一方面,
UIAccessibilityFocusedElement
无法更改任何内容。它只返回当前关注的元素(或
nil
):

UIAccessibility.focusedElement(using: UIAccessibility.AssistiveTechnologyIdentifier.notificationVoiceOver)

另一方面-目前唯一可以暂停或恢复的辅助技术是notificationSwitchControl,尝试通过画外音导致崩溃

这并不能直接解决两者之间的差异,但我所介绍的一个惊人的概述可能会解决您的问题,并与
UIAccessibilityPostNotificate直接相关ion
:很抱歉反应太晚。是的,我没有真正回答问题,但确实帮助解决了我的问题。
UIAccessibility.focusedElement(using: UIAccessibility.AssistiveTechnologyIdentifier.notificationVoiceOver)