在iOS 6
中有一个新的“功能”,如果用户是从右到左的语言环境(希伯来语,阿拉伯语),它会反映xib文件中的UI元素。
(http://developer.apple.com/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/iPhoneOSTechnologies/iPhoneOSTechnologies.html)
它完全弄乱了我的界面。
有没有办法在不禁用自动布局的情况下禁用它?
答案 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)