屏幕更改后的默认 UIAccessibilityElement

Posted

技术标签:

【中文标题】屏幕更改后的默认 UIAccessibilityElement【英文标题】:Default UIAccessibilityElement after screen change 【发布时间】:2012-10-09 19:54:47 【问题描述】:

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

UIAccessibilityPostNotification(
    UIAccessibilityLayoutChangedNotification, 
    element
)

但没有成功。

【问题讨论】:

您确定element 是可访问性元素吗?如果是这样,您能否发布有关该问题的更多信息,以便我们为您提供帮助。 UIAccessibilityPostNotification( ... ); 为我工作。 另外,如果有屏幕变化(主要)而不是布局变化(次要),那么您应该发布UIAccessibilityScreenChangedNotification 【参考方案1】:

使用UIAccessibilityPostNotification 方法是proper way 达到你的目的。

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

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

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

【讨论】:

以上是关于屏幕更改后的默认 UIAccessibilityElement的主要内容,如果未能解决你的问题,请参考以下文章

如何更改电视屏幕上的默认接收器图像大小

如何更改VirtualBox默认的最大屏幕尺寸

如何更改VirtualBox默认的最大屏幕尺寸

linux下已经更改了ssh默认登陆端口22,如何扫描出来更改后的端口号呢。使用NMAP扫描不到,有其他方法么?

如何更改VirtualBox默认的最大屏幕尺寸

如何更改VirtualBox默认的最大屏幕尺寸