ans*_*hul 6 accessibility uiactivityindicatorview voiceover
我正在尝试为UIActivityIndicatorView(在我的视图控制器viewDidLoad中以编程方式创建)提供可访问性标签.我将可访问性标签设置为:
myIndicatorView.accessibilityLabel = @"Please wait, processing"
Run Code Online (Sandbox Code Playgroud)
但是当我运行应用程序时,语音总是显示"正在进行中".我尝试使用辅助功能检查器在模拟器上进行调试,但每次指示器视图都处于焦点时,它的标签为"正在进行中".我假设,"进行中"是活动指标视图的默认语音文本,但我无法更改此标签.我想知道活动指示器视图的可访问标签是否永远不会被更改.如果有人遇到这个问题并找到了解决方法,那么请帮助我.
并不是说你没有改变它.这就是说,在后台,随着进度指示器的状态发生变化,iOS后端会将标签更新为适当的状态.这取决于您更改它的内容,因为在您更改状态后它可能会应用自己的更新.
我会留下这个.与"正在进行中"相比,"请等待,处理"不提供其他信息.并且"进行中"是VoiceOver用户习惯于听到"进行中"状态进度指示器宣布的方式.将此公告更改为一个没有视力的用户,将图像更改为旋转的米老鼠头的内容将被视为一个.
如果你必须改变它,你想要做的不是设置属性,而是覆盖属性的getter方法的实现.为此,请提供UIActivityIndicatorView的自定义实现,以执行以下操作.
@interface MyActivityIndicator : UIActivityIndicatorView
@end
@implementation MYActivityIndicator
- (NSString*)accessibilityLabel {
if (self.isAnimating) {
return NSLocalizedString("ACTIVITY_INDICATOR_ACTIVE", nil);
} else {
return NSLocalizedString("ACTIVITY_INDICATOR_INACTIVE", nil);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |