0

我正在尝试在 Interface Builder 中创建一个 UIView,它向用户显示两个包含一些文本的框。这个 UIView 应该支持横向和纵向模式。

纵向时,两个框应水平居中并位于彼此下方。如下图所示: 人像模式 http://img176.imageshack.us/img176/5899/screenshot20100403at709.png

但是在横向时,它应该显示两个垂直居中并并排的框。如下图所示: 横向模式 http://img40.imageshack.us/img40/1669/screenshot20100403at728.png

这是否可能仅使用自动调整大小选项(或任何其他 IB 选项),或者我是否必须在方向更改事件的代码中重新布局视图?我宁愿只使用 IB。

我尝试锁定顶部框的顶部和左侧边距并锁定底部框的底部和右侧边距。但问题是,为了让它工作,我还需要缩小两个框,因为一个从纵向变为横向,否则它们会重叠。

4

2 回答 2

1

我会制作两个视图并使用相同的模型。我发现这大大简化了我的代码。但是,如果您坚持一种观点,只需将它们轮流布置。

于 2010-04-05T00:42:47.110 回答
1

我以前做过这样的事情..

我所做的是由代码完成的。在willRotateToInterfaceOrientation:duration:方法调用上,我将重新绘制视图的中心点。

这个对我有用 :)

于 2010-08-25T03:53:37.097 回答