在iOS上将默认辅助语言设置为西班牙语

3
我正在维护一款为英语用户制作的应用程序。我被要求制作西班牙语版本(由于资源大小问题,他们想要单独的应用程序)。此外,他们希望该应用程序易于访问。现在,所有标签都已经设置在应用程序中,但是它们使用英式口音发音!(听起来很可怕 :) )不管怎样,我发现您可以将accessibilityLanguage设置为@"es",就能处理这个问题。那么问题来了:
如何设置默认的accessibilityLanguage为@"es"?这将覆盖用户的首选项。我知道苹果公司不喜欢这样做,但在这种情况下,将其设置为英语真的毫无意义,因为所有的按钮/标签都是西班牙语。
1个回答

4

这对我很有帮助,而且不需要单独在每个视图上设置accessibilityLanguage

#import "NSObject+AccessibilityLanguage.h"

@implementation NSObject (AccessibilityLanguage)

- (NSString *)accessibilityLanguage {
    return @"nl";
}

@end

我喜欢这个答案。实际上,我现在正在做一些更糟糕的事情......我在一个UIViewController子类的viewDidLoad方法中放置了一个方法,所有我的VC都继承自此类。该方法递归遍历视图层次结构并设置所有的accessibilityLanguage字段。但这样做更好!谢谢你! - Joris Weimar
我发现UITextView存在一个问题。不知道你是否也遇到了同样的问题。似乎UITextView不尊重语言设置。因为我基本上只是用UITextView来显示静态文本,所以我改用UIScrollView上的UILabel。 - Joris Weimar
accessibilityLanguage仅设置“语音辅助元素的标签、值和提示所使用的语言”。那么accessibilityTraits呢?你已经弄清楚了吗? - moon4e

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接