如何在Interface Builder中指定我希望UI元素在哪里进行方向更改?

时间:2010-12-20 17:10:25

标签: iphone button interface-builder orientation

好的,所以我知道这是一个新手问题,但是我可以成为新手!我认为我正试图在IB中进行方向友好,我遇到了一些困难。

当然,我的一切看起来都很漂亮,但是当我进入风景模式时(通过点击右上角的箭头),一切都搞砸了。

现在,由于视图布局的方式,我需要沿着图像视图底部的纵向对齐3个按钮,然后在横向中,这三个按钮需要沿右侧对称对齐。 / p>

在尺寸检查员中摆弄那些红色箭头的任何组合都不会让我得到我想要的结果。是否可以在IB中以一个方向单向设置按钮,然后在更改时将它们设置为完全不同?

我已经四处寻找有用的IB教程,但却找不到任何东西。

2 个答案:

答案 0 :(得分:0)

我知道你想在IB中这样做,但如果你愿意以编程方式尝试,那么你可以很容易地移动它。对于您的按钮,只需实现如下的setCenter方法:

[myButton setCenter:CGPointMake(xCenter,yCenter)];

否则,如果要使用IB,请使用自动调整大小选项。箭头将拉伸或压缩宽度和高度,条形(| - |)保持距离顶部和底部的距离。如果连续有三个按钮,则可以固定左按钮的左侧距离,右侧按钮的右侧距离以及中心按钮的两个/两个按钮。这样的事情可能有用。

第三个选项是创建一个新视图,称之为landscapeView或其他东西,通过将UIView从库拖到带有文件所有者,第一响应者,视图等的窗口。然后将其定向到横向,复制所有你的UI对象,根据需要进行布局,旋转时,使用landscapeView替换当前视图。我发现(其中之一)的问题是你必须重新连接所有东西并为标签和诸如此类的东西设置不同的IBOutlets。 Ť

答案 1 :(得分:0)

使用IB的自动调整功能只能做很多事情。 PengOne在他的第二段中很好地描述了它们。如果它们不够,则必须以编程方式移动元素。见Responding to Orientation Changes。否则,您可以使用完全不同的视图,再次如PengOne所述。