iOS:在XIB中禁用UI镜像

时间:2013-02-06 08:40:42

标签: ios user-interface ios6 xib mirroring

iOS 6中有一个新的“功能”,如果用户是从右到左的语言环境(希伯来语,阿拉伯语),它会反映xib文件中的UI元素。 (http://developer.apple.com/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html

它完全弄乱了我的界面。

有没有办法在不禁用自动布局的情况下禁用它?

3 个答案:

答案 0 :(得分:11)

接下来是@silyevsk的解决方案 - 这是一个快速的方法,我修复了UI镜像: 在文本编辑器中打开xib文件(xcode / textedit / atom等) 使用替换工具,替换以下内容:

  

firstAttribute = “尾随”   有:   firstAttribute = “右”

     

secondAttribute = “尾随”   有:   secondAttribute = “右”

     

firstAttribute = “龙头”   有:   firstAttribute = “左”

     

secondAttribute = “龙头”   有:   secondAttribute = “左”

为我工作并为IB节省了许多艰难的工作时间。

答案 1 :(得分:10)

水平约束在Interface Builder中具有“方向”选项。默认情况下,它设置为“导致尾随”,从而导致镜像。您可以将其设置为“从左到右”以禁用镜像。

注意,通过编辑storyboard / xib文件来更改所有约束会导致异常或混乱布局,在更改方向设置时,Interface Builder似乎会创建/更改一些其他约束。

因此我发现更改现有xib / storyboard的更快方法是选择所有约束并使用“Leading to Trailing”设置,将它们全部更改为“从左到右”,然后检查是否有一些新的水平约束自动创建 - 他们的方向也应该改为“从左到右”。

答案 2 :(得分:1)

我不知道为什么这个答案已被删除,它完美无缺!

enter image description here