在iPhone上为RTL语言翻转布局

这是我的问题:

我已经将我的应用程序本地化为阿拉伯语。 (这实际上比正规本地化略有不同,因为我有不同的目标,每种语言一个)。

在模拟器上,由于自动布局和约束的前/后部分,视图被正确翻转,但是我似乎无法在设备上得到相同的结果。 AutoLayout + RTL + UILabel文本alignment显示模拟器上翻转视图的示例。

我还发现在“自动布局指南”中支持它的说明:“ 对于从左到右的语言(例如英语),前后的属性左右相同,但是在从右到左的环境如希伯来文或阿拉伯文,前后左右相同 。 这让我觉得它应该翻转视图,就像在模拟器上一样。

我在模拟器上的scheme中使用了-AppleLanguages (ar_SA) ,因此翻转了视图,但却无法在设备本身中find合适的设置来执行相同的操作。 将语言和区域格式设置为阿拉伯语似乎没有多大帮助。 这是在iPhone 4S,iOS 7.0.4上

TLDR:我应该在实际的iPhone设备上更改什么样的设置才能进入“阿拉伯环境”,并且有一个翻转的视图,或者我错过了什么,以便在模拟器中翻转,而不是在设备上翻转?

结束添加以下内容:

 int main(int argc, char *argv[]) { @autoreleasepool { #if TARGET == TARGET_AR NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:[NSArray arrayWithObject:@"ar-SA"] forKey:@"AppleLanguages"]; [defaults synchronize]; #endif return UIApplicationMain(argc, argv, NSStringFromClass([SNFIdleDetectorApplication class]), NSStringFromClass([SNFAppDelegate class])); } } 

虽然我确实发现这种丑陋。

编辑:可能有趣的是,当设置为阿拉伯语时,设备显示@"ar"作为AppleLanguages的第一个值,而不是@"ar-SA" 。 我猜翻转视图不能使用@"ar"语言环境,虽然我不确定这是一个错误,还是一些阿拉伯国家写LTR,因此有意义不系统地翻转视图。

希望不是太晚了,我有类似的问题,你可以查看这个: https : //stackoverflow.com/a/25380873/2633295