swift - Swift:可访问性:如何将要按顺序执行的事件排队?
问题描述
我想知道是否有一种方法可以将可访问性读数或元素焦点事件一个接一个地排队。
如果我使用: UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, "My Error Message")
或: UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification,self.continueButton)
第二次调用将中断当前正在读取的读数。
显然,如果你使用带延迟的 Dispatch,它并不健壮,因为不同的语言有不同的内容长度,而且用户有不同的读取速度设置,可能设置为非常慢。那么我怎样才能“排队”多个焦点/读出事件并确保一次只读出其中一个事件呢?
解决方案
在您发布第一个公告后,您需要等待(在此处UIAccessibilityAnnouncementDidFinishNotification
查看更多信息),然后才能发布第二个公告。
所以建立一个队列(一个集合可以做到),每当UIAccessibilityAnnouncementDidFinishNotification
系统触发时,只需弹出集合中的第一个通知(如果存在)并将其触发。
推荐阅读
- javascript - JavaScript 将值附加到对象
- c# - Azure Signalr 服务连接问题
- c++ - 如何使用 z3 中的 arg() 函数?
- gnuplot - gnuplot中的特殊字符'〜'
- express - 扩展运算符不适用于 express.js
- jenkins - Jenkins HTML Publisher Plugin 和 HTML 报告文件中的相对路径存在问题
- android - 使用 Intent 时传递数组数据为空
- algorithm - 使用线性探测搜索条目的算法是什么?
- c - 通过 C HTTP 服务器发送 HTTP 响应时,图像不会在浏览器上加载
- sql - 寻找所有用户的相同序列