iPhone - 让VoiceOver宣布更改标签文字

时间:2011-04-02 00:31:19

标签: iphone wai-aria voiceover

是否可以使用iPhone上的VoiceOver在标签上发布更新的文本?

这类似于ARIA的实况区域。

感谢。

2 个答案:

答案 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")