使程序化iOS UIView完全可访问
|
我正在以编程方式为iOS构建“ 0”,并且无法完全访问它。在
loadView
中,我创建主UIView
并将其设置为不可访问:
- (void)loadView
{
CGRect viewRect = [[UIScreen mainScreen] applicationFrame];
UIView *tmp = [[UIView alloc] initWithFrame:viewRect];
[tmp setIsAccessibilityElement:NO];
然后添加仅包含背景图像的附加“ 4”,并将其设置为不可访问。所有视图和控件都添加到上面创建的\“ tmp \”UIView
中。这是一个“背景”视图示例:
UIImage* microphone = [UIImage imageNamed:@\"microphone.jpg\"];
UIView* microphoneView = [[[UIView alloc] initWithFrame: CGRectMake(0,0,viewRect.size.width, microphone.size.height)] autorelease];
[microphoneView setBackgroundColor:[UIColor colorWithPatternImage:microphone]];
[microphoneView setIsAccessibilityElement:NO];
[tmp addSubview:microphoneView];
最后,我添加了UIButton
,UILabel
和UIButtonBarItem
。我最后添加了这些,因此它们位于视图层次结构的顶部。我向它们添加了可访问性标签和特征。这是the7ѭ:
self.recordImage = [UIImage imageNamed: @\"record_button.png\"];
self.stopRecordImage = [UIImage imageNamed: @\"stop_button.png\"];
self.recordButton.accessibilityTraits |= UIAccessibilityTraitStartsMediaSession;
self.recordButton = [[UIButton alloc ] initWithFrame: CGRectMake((viewRect.size.width - recordImage.size.width)/2 , (microphone.size.height + (grayBkg.size.height - recordImage.size.height)/2), recordImage.size.width, recordImage.size.height)];
[self.recordButton setIsAccessibilityElement:YES];
[self.recordButton setAccessibilityLabel: @\"toggle recording start\"];
[self.recordButton setImage: recordImage forState:UIControlStateNormal];
[self.recordButton addTarget: self action:@selector(processButton:) forControlEvents:UIControlEventTouchUpInside];
[tmp addSubview:recordButton];
最后
....
[self setView:tmp];
[tmp release];
我确实叫UIAccessibilityPostNotification
(UIAccessibilityScreenChangedNotification
,nil);当我将此视图推入堆栈时。
启用画外音后,显示视图时,我可以滑动并指定我的每个元素((9ѭ,UILabel
和UIButton
)焦点,然后双击即可激活它们。但是,VoiceOver不会讲有关元素的信息。使用Accessibility Inspector在模拟器中进行的测试显示了我通过aControl.accessibilityLabel = @ \“ thelabel \”设置的标签;
该视图用于录制音频。如果我激活按钮并录制音频并停止录制,当我对元素进行聚焦时,VoiceOver现在会说出元素的标签吗?视图首次加载时,VoiceOver为什么不讲信息?任何线索表示赞赏!
我正在使用iOS 4.3.3的iPad 2进行测试。
没有找到相关结果
已邀请:
2 个回复
素汞读
翱抹村