是否可以使用iPhone上的VoiceOver在标签上发布更新的文本?
这类似于ARIA的实况区域。
感谢。
答案 0 :(得分:18)
您可以让VoiceOver宣布您喜欢的任何文字:
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"Your text");
如果标签在更新后应立即宣布其文字,只需延长UILabel
并覆盖setText
方法。
.h文件:
@interface UIVoicedLabel : UILabel {
}
@end
及其实施:
#import "UIVoicedLabel.h"
@implementation UIVoicedLabel
- (void) setText:(NSString *)text {
// Set the text by calling the base class method.
[super setText:text];
// Announce the new text.
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, text);
}
@end
这对我来说非常有用:)
答案 1 :(得分:1)
这是Swift 4版本
UIAccessibility.post(notification: UIAccessibility.Notification.announcement, argument: "Your text")