整个应用程序中的UIAccessibility默认语言

我们正在开发一个仅以德语本地化的应用,并希望为其添加辅助function。 由于accessibilityLabel是德语版,因此无论用户的默认系统语言是什么,总是以德语阅读它会很棒。

我注意到可以使用accessibilityLanguage属性设置它。 但需要反复设置每个控件。

有没有办法为应用程序中的每个控件全局设置一次辅助function语言?

在发布问题后不久就找到了一条路! 🙂

您可以直接在AppDelegate UIApplication上设置accessibilityLanguage 。 例如,在application:didFinishLaunchingWithOptions:

 application.accessibilityLanguage = @"de"; 

它将应用于所有控件。 在iOS 7上测试过。

您可以在头文件中在NSObject上创建一个类别,如下所示:

 @implementation NSObject (Accessibility) - (NSString *)accessibilityLanguage { return @"de"; } @end 

然后考虑在你的前缀头(.pch文件)中导入它,这样你就不必在任何需要的地方导入它

您可以通过inheritance来执行此操作,并使用您自定义的组件,默认情况下会以您希望的方式设置此值。 但可能在现有项目中,应用起来并不容易。