3

有没有办法决定哪个元素首先获得焦点?我尝试在以下方法中使用第二个参数

UIAccessibilityPostNotification(
    UIAccessibilityLayoutChangedNotification, 
    element
)

但没有成功。

4

1 回答 1

0

使用该UIAccessibilityPostNotification方法是达到目的的正确方法

有几种类型的更改通知,但最常用的两种是:

  • UIAccessibilityLayoutChangedNotification:通知页面的一部分已经改变,有 2 个可能的传入参数(一个 NSString 或一个 UIObject)。使用 NSString,通知的行为类似于带有 VoiceOver 发声的 UIAccessibilityAnnouncementNotification。使用 UIObject,焦点转移到用户界面元素。此通知与 UIAccessibilityAnnouncementNotification 非常相似,但应该是动态内容被删除或添加到当前视图的结果。
  • UIAccessibilityScreenChangedNotification:通知整个页面已更改,包括 nil 或 UIObject 作为传入参数。使用 nil 时,页面中的第一个可访问元素将获得焦点。使用 UIObject,焦点转移到带有 VoiceOver 的指定元素。此通知伴随着声音,包括宣布新页面的声音。

您的问题显然可能是您在代码行中element指定的类型,因为它看起来完全正确。

于 2018-11-05T15:58:12.487 回答