根据苹果documentation “iOS不会自动镜像控件,因此如果您想要iOS应用程序的此行为,请将控件子类化并覆盖绘图方法。”
当用户在主屏幕中选择阿拉伯语或希伯来语时,我希望镜像我的整个UI。我正在寻找相同的教程和文档,但没有任何帮助。
请查看我到目前为止所做的事情: 我正在使用Xcode 6.1和iOS 7到iOS 8.1的应用目标。 Autolayout已启用,并且未使用左或右约束。我只使用前导或尾随约束。 在项目设置中启用基础国际化也在本地化中添加了语言。但是当我在设备中运行应用程序并将设备语言和区域设置为阿拉伯语时,我无法获得镜像UI。我是否必须在代码中执行任何操作才能获得镜像UI? 支持基于RTL的UI的最佳方法是什么?如何子类控制和覆盖绘图方法?
请使用this link获取我的应用的示例截图。
答案 0 :(得分:2)
我刚从Apple文档中找到了一种简单的方法,而不是为RTL和LTR语言提供2个故事板。
NSArray* languages = [NSArray arrayWithObjects:@"ar", nil]; [[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
您的应用现在可以使用带有镜像用户界面的RTL语言而无需2个故事板。 注意:如果您没有正确设置autolayout约束,它将无法正常工作。但是,由于新屏幕,您必须学会使用自动布局。
答案 1 :(得分:0)
在Swift
let languages = ["ar"]
UserDefaults.standard.set(languages, forKey: "AppleLanguages")