在界面构建器中设置自动调整问题

时间:2010-10-22 14:47:46

标签: iphone interface-builder autoresizingmask

我有两个viewControllers,一个是UIViewController的子类(正确自动化),另一个是UIViewController子类的子类。
我在Interface Builder中做了一个布局,我在模拟器中测试了我的代码,一切都按预期工作。但是,如果我旋转设备,我的视图不会调整大小 所以我回到Interface Builder,发现我无法更改“root”-UIView的Resizing属性。所以我打开了另一个文件,resizing属性也在那里修复。但它将在两个方向上进行调整。这是我想要的行为。

如何更改顶级UIView的自动调整功能以便它能够实现我想要的功能?
没有那么多的子视图,不可能从头开始,但我不想这样做。

Interface Builder, Autoresizing Mask

3 个答案:

答案 0 :(得分:24)

我之前遇到过这种情况,令人非常沮丧。事实证明,当您打开模拟用户界面元素时,您无法按照自己的意愿更改支柱和弹簧。

转到属性选项卡(Cmd-1)并确保状态栏,顶栏,底栏和拆分视图都设置为“未指定”。然后返回尺寸选项卡(Cmd-3),您将能够单击这些线并更改您的Struts和Springs。最后你可以回到Cmd-1并重新打开这些模拟元素。

答案 1 :(得分:13)

我有一个简单的答案:

  1. 转到IB
  2. 点击“ViewController”
  3. 转到'属性检查员'
  4. 将“尺寸”更改为“自由形式”(“推断”以外的其他内容)
  5. 你拥有的是:

    enter image description here

    将'尺寸'改为'自由形态'&现在试试!

    enter image description here

    现在,它有效!回去&在设置自动调整蒙版后将其更改为“推断”。

答案 2 :(得分:0)

打开Main.storyboard作为源(不要忘记,它只是一个XML文件)并替换" autoresizingMask"使用以下行在视图中标记:

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>