当我的用户按下带有无效文字的按钮时,我会显示一个UILabel(之前隐藏),其中包含“输入的值无效”文字。
我希望配音能够自动读出此标签。我该怎么做?
答案 0 :(得分:9)
如果您想向Voice Over提供一些重要信息,那么您应发布“辅助功能公告”:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, // announce
@"My important information"); // actual text
答案 1 :(得分:0)
你想做这样的事情:
AVSpeechSynthesizer* speechSynth;
AVSpeechUtterance *utterance;
speechSynth = [[AVSpeechSynthesizer alloc] init];
speechSynth.delegate = self;
utterance = [AVSpeechUtterance speechUtteranceWithString:@"Hello, world!"];
[speechSynth speakUtterance:utterance];
注意:这只是iOS7
答案 2 :(得分:0)
UIAccessibility.post(notification: .announcement, argument: "your text")
似乎没有队列(仍然在iOS 13上)。如果在用户操作(例如单击按钮)后立即发布公告,则该按钮可能会被按钮的自动旁白公告所吞没。在这种情况下,您应该在适当的延迟后发布公告(如here所述)。如果延迟时间太短,则您的公告可能会切入按钮的公告。
AVSpeechUtterance
将向所有用户讲文本,UIAccessibility.post
仅对在辅助功能设置f.i中选择了画外音的用户讲话。因为他们有视觉障碍。