如何设置accessibilityHint的语言?

时间:2012-05-08 09:06:43

标签: ios accessibility

我正在编写一个iOS应用程序,它在多语言环境中运行。因此,程序可以使用与系统语言不同的语言操作。甚至可以在应用程序内更改语言,而无需重新启动应用程序。因此,我没有使用NSLocalizedString,而是使用了这样的机制:

- (NSString *)stringForLanguage:(NSString*)key
{
  NSString *path;
  if(prefLanguage == 0) {
    path = [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
  } else {
    path = [[NSBundle mainBundle] pathForResource:@"fr" ofType:@"lproj"];
  }
  NSString* str=[[NSBundle bundleWithPath:path] localizedStringForKey:key value:@"" table:nil];
  return str;
}

由于我想让我的程序可访问,我写了这个小方法来切换德语和法语:

- (void)setVoLanguage:(NSObject*)object
{
  if (prefLanguage == 0){
    [object setAccessibilityLanguage:@"de-DE"];
  } else {
    [object setAccessibilityLanguage:@"fr-FR"];
  }
}

我正在使用这样的方法:

- (NSString *)accessibilityLabel {
  [appDelegate setVoLanguage:self];
  return [NSString stringWithString:[appDelegate stringForLanguage:@"UI_SPLIT_SLIDER"]];
}

- (NSString *)accessibilityHint {
  [appDelegate setVoLanguage:self];
  return [NSString stringWithString:[appDelegate stringForLanguage:@"UI_SPLIT_SLIDER_H"]];
}

我的手机用英文运行。第一个工作正常,这意味着该值以德语或法语读取,而提示始终用英语读取。我很困惑。

因此它适用于accessibilityLabels和accessibilityValues,但不适用于accessibilityHints。有人知道如何设置accessibilityHints的语言吗?

谢谢。

0 个答案:

没有答案