我的应用程序的可访问性工作仍在继续。我发现的下一个问题是,只要出现alertView,语音只会读出以下内容
尽管我认为这也是为了宣读警报机构。
要解决此问题,我必须执行以下代码
NSString *alertAction = notification.alertAction;
NSString *alertBody = notification.alertBody;
if (UIAccessibilityIsVoiceOverRunning())
{
// TODO - iOS VoiceOver has a bug where it only reads out the alert action, not the body.. combine everything into one
// for now so its read out together
alertAction = [NSString stringWithFormat:@"%@, %@", alertAction, alertBody];
alertBody = nil;
}
UIAlertController* alertController = [UIAlertController alertControllerWithTitle:alertAction
message:alertBody
preferredStyle:UIAlertControllerStyleAlert];
[alertController addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleCancel
handler:^(UIAlertAction * action) {
}]];
[visibleViewController presentViewController:alertController animated:YES completion:nil];
将标题和消息组合成一个用于标题的字符串。清除消息。
这似乎解决了这个问题,但感觉有点笨拙,显然在粗体标题字体中有这么多文字看起来有些令人反感。
任何人都遇到过这个问题,或者有任何其他修复方法,以避免以这种方式屠杀我的所有提醒?
干杯