这是我的问题:
我已将我的应用程序本地化为阿拉伯语。 (它实际上与常规本地化略有不同,因为我有不同的目标,每种语言一个)。
在模拟器上,由于自动布局和约束的前导/尾随部分,视图被正确翻转,但我似乎无法在设备上获得相同的结果。AutoLayout + RTL + UILabel 文本对齐 https://stackoverflow.com/questions/18744447/autolayout-rtl-uilabel-text-alignment显示模拟器上翻转视图的示例。
我还发现自动布局指南中支持它的迹象:«对于从左到右的语言,属性leading和trailing与left和right相同,例如
英语,但在希伯来语或阿拉伯语等从右到左的环境中,前导和尾随与右和左相同 https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/AutoLayoutConcepts/AutoLayoutConcepts.html#//apple_ref/doc/uid/TP40010853-CH14-SW1»。这让我认为它应该翻转视图,就像在模拟器上一样。
I use -AppleLanguages (ar_SA)
在我的模拟器方案中,它会翻转视图,但无法在设备本身中找到正确的设置来执行相同的操作。将语言和区域格式设置为阿拉伯语似乎没有多大帮助。
这是在 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,因此不系统地翻转视图是有道理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)