请参阅以下代码:
UIAlertView *progressAlertView = [[UIAlertView alloc]
initWithTitle:@"Title"
message:@"Message"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:nil];
progressAlertView.message=@"Hello, I am the new one";
语音总是读取“消息”并且永远不会读取第二行“你好,我是新的”中设置的新消息字符串。无法更改UIAlertView的bodyTextLabel控件/子视图的此辅助功能标签。
知道如何让UIAlertView在分配后更改其可访问性标签吗?
谢谢,
-Shilpi
答案 0 :(得分:1)
您可以使用accessibilityTraits作为UIAccessibilityTraitUpdatesFrequently来读取更新的消息。 它的工作原理如下:
alertObj.accessibilityTraits = UIAccessibilityTraitUpdatesFrequently;
由于
答案 1 :(得分:0)
使用这种方式设置 UIAlertView
的消息UIAlertView *progressAlertView = [[UIAlertView alloc]
initWithTitle:@"Title"
message:@"Message"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:nil];
[alertView setMessage:@"Hello, I am the new one"];
[alertView show];
有关UIAlertView的更多信息,请参阅此处 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html
答案 2 :(得分:0)
您可以更改UIAlertView
的子视图以更改单一属性,例如辅助功能标签:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Test"
message:@"Message"
delegate:nil
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
// In a standard UIAlertView there are 2 UILabels and some buttons
// The UILabel with the message is always the 2nd object in the array
NSArray *subviews = alert.subviews;
UILabel *messageLabel = [subviews objectAtIndex:1];
[messageLabel setAccessibilityLabel:@"Some other text"];
使用此代码,您只需更改辅助功能标签,以便VoiceOver读取另一个文本,但会显示旧文本。
在您的情况下,您应将可访问性标签设置为您想要设置UIAlertView
的消息的相同标签。