我们正在开发一个仅以德语本地化的应用程序,并希望为其添加辅助功能。由于accessibilityLabel
s 是德语,所以无论用户的默认系统语言是什么,总是用德语阅读它会很棒。
我注意到可以使用该accessibilityLanguage
属性进行设置。但需要在每个控件上重复设置。
有没有办法为应用程序中的每个控件全局设置一次可访问性语言?
我们正在开发一个仅以德语本地化的应用程序,并希望为其添加辅助功能。由于accessibilityLabel
s 是德语,所以无论用户的默认系统语言是什么,总是用德语阅读它会很棒。
我注意到可以使用该accessibilityLanguage
属性进行设置。但需要在每个控件上重复设置。
有没有办法为应用程序中的每个控件全局设置一次可访问性语言?
在发布问题后不久就找到了一种方法!:)
可以accessibilityLanguage
直接在UIApplication
中设置AppDelegate
。例如,在 中application:didFinishLaunchingWithOptions:
,
application.accessibilityLanguage = @"de";
它将应用于所有控件。在 iOS 7 上测试。
您可以通过继承来做到这一点,并使用您的自定义组件,默认情况下会以您想要的方式设置此值。但可能在现有项目中,它不会那么容易和快速应用。
您可以在头文件中的 NSObject 上创建一个类别,如下所示:
@implementation NSObject (Accessibility)
- (NSString *)accessibilityLanguage {
return @"de";
}
@end
然后考虑将它导入到您的前缀标头(.pch 文件)中,这样您就不必在任何需要它的地方导入它