我注意到UIAccessibility post通知方法是某种异步调用。对我来说,这听起来很对,因为你需要听到的是最近发生的事情,而不是昨天发生的事情……但请看下面的示例:
UIAccessibilityPostNotification( UIAccessibilityAnnouncementNotification, @"String 1");
UIAccessibilityPostNotification( UIAccessibilityAnnouncementNotification, @"String 2");你只能听到"string 2“。
这个例子很简单,你可以回答说,可以将"string 2“附加到"string 1”之后,问题就解决了。但我处于这样的情况下,但我不能附加两个字符串。
我的问题是:有没有同步通知的方法?
下面是另一个例子。假设您有一个选项卡栏应用程序。当你切换到一个特定的栏时,我希望VoiceOver说出特定的文本。正如您可能知道的,当您选择一个选项卡时,工具栏会显示类似于"Bar1 VoiceOver selected“的内容。
所以..。VoiceOver公告涵盖了我自己的特定文本。
发布于 2012-11-07 16:40:47
对于iOS 6.0+,您可以使用同步您的公告。
发布于 2018-12-07 00:46:12
从iOS 11开始,引入了新的attributed accessibility properties,其中包括特定的accessibilitySpeechQueueAnnouncement键,该键允许对公告进行排队或中断当前语音。
但是,如果您发送了许多通知,并且VoiceOver需要接管(例如,用户轻击以聚焦新元素),则一旦系统说出元素的属性(stackoverflow answer),未发声的通知就会被删除。
在我看来,这是目前同步通知的最佳方式。
对于你的第二个关于标签栏的问题,可以写一个新的专门的问题...
https://stackoverflow.com/questions/12354828
复制相似问题