赞
踩
系统:10.0.1,手机型号:iphone5
流程如下:
accessibilityLabel 用来描述控件是什么.UIButton和lable会默认从title和text中获取,textField从输入框的内容获取..当元素获得焦点时会第一个播放.
accessibilityTraits 元素的特征.如按钮,链接等.元素获取焦点后会在第二个播放.由于会播放按钮等,因此accessibilityLabel可以不同添加链接的描述,直接使用系统描述的特征,如:lable为登陆,traint为按钮,系统会播放”登陆->按钮”.
accessibilityHint 用来描述一个动作.如下载链接,购买商品等.第三个朗读,默认为nil
accessibilityFrame 元素的frame.当元素过小时可以通过设置该frame使得容易点击,这个不会改变app的UI.如果不想让系统读取到该元素,可以设置frame为CGRectZero,效果等同于设计lable,hint为”“,traints为none.
accessibilityValue 元素的值.用在UISlider,UITextField等组件上.用来描述元素的值
isAccessibilityElement 设置是否支持盲人模式
isAccessibilityElement默认是false,UIKit默认打开,但是UIImageView需要单独打开.
accessibilityElementHidden 不在读取该元素.isAccessbilityElement为NO只读取label,accessibilityElementHidden设为yes后lable也不再读取.
Actions
Activate 单指轻点两次. 表示激活控件,如按钮点击
Escape. 单指 Z-shaped 手势一般用于退出模态界面或者返回导航的上一页界面
Magic Tap. 双指轻点两次触发 most-intended action.
Three-Finger Scroll. 触发水平滚动,如UIScrollView
Increment. 单指向上滑动,需要设置accessibilityTraits为UIAccessibilityTraitAdjustable,否则对应的方法不会被调用
Decrement. 单指向下滑动,需要设置accessibilityTraits为UIAccessibilityTraitAdjustable,否则对应的方法不会被调用
UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, element)
直接读出一段文字
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification, @"read me");
是否开启了盲人模式
UIAccessibilityIsVoiceOverRunning()
监听盲人模式状态改变
通知名称为:UIAccessibilityVoiceOverStatusChanged
- (NSArray *)accessibilityElements {
if (_array != nil) {
return _array;
}
_array = [NSMutableArray array];
UIAccessibilityElement *ele = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:self];
ele.accessibilityFrame = CGRectMake(CGRectGetMinX(self.frame), CGRectGetMinY(self.frame), CGRectGetWidth(self.frame)/2.0, CGRectGetHeight(self.frame));
ele.accessibilityLabel = @"内容1";
[_array addObject:ele];
UIAccessibilityElement *ele2 = [[UIAccessibilityElement alloc] initWithAccessibilityContainer:self];
ele2.accessibilityFrame = CGRectMake(CGRectGetMaxX(ele.accessibilityFrame), CGRectGetMinY(self.frame), CGRectGetWidth(self.frame)/2.0, CGRectGetHeight(self.frame));
ele2.accessibilityLabel = @"内容2";
[_array addObject:ele2];
return _array;
}
- (NSArray *)accessibilityElements {
return self.array;
}
- (BOOL)isAccessibilityElement {
return NO;
}
- (NSInteger)accessibilityElementCount {
return self.array.count;
}
- (id)accessibilityElementAtIndex:(NSInteger)index {
return [self.array objectAtIndex:index];
}

webView不需要单独设置,开启后系统会自动设置,无法读取的内容需要改成lable等标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。