0

我有一个简单的 1 屏幕应用程序,有 1 个视图 .. 视图包含

一个按钮,一个文本框和一个顶部的按钮

底部的分段控制器

和介于两者之间的 MapView。

在纵向模式下,世界一切都很好..所以我决定开始允许方向改变......

在 IB 中,所有视图和元素甚至根窗口都设置了 autoResizeSubviews

在我的 AppDelegate 和我的 viewController 中,我还以编程方式将 SetAutoResizeSubviews 添加到 yes,我已经将根窗口中的 autoResizingMask 和 View Controller 设置为 FlexibleWidht | 灵活高度

我在 ViewController 中添加了 shouldAutorotateToInterfaceOrientation 以始终返回 true。

然而,它不起作用..或者我应该说它不能正确旋转..在两种纵向模式下,一切看起来都很好,但是在两种横向模式下,东西都没有正确布局或调整大小..基本上我所看到的是mapview,它的尺寸稍微宽了一点,但比竖屏模式要宽一些,而且它并没有从上到下填满屏幕。除了一个按钮之外,所有其他界面元素都是不可见的,它出现在TOP地图视图的.. 以为它只是巧合地布置在视图上,而不是任何设计。

任何人都知道我缺少什么,或者为什么?

提前致谢

4

1 回答 1

0

你说“我已经在根窗口和视图控制器中设置了 autoResizingMask”,但这是一个红鲱鱼。按钮、文本框、分段控制器和地图视图必须具有正确的autoresizingMask. 如果这个视图是在笔尖中设计的,您可以在那里设置值,然后在笔尖中向右转动方向,看看会发生什么。

如果您无法autoresizingMask为所有这些界面元素计算出好的值,didRotateFromInterfaceOrientation请在需要时在代码中实现并执行布局更改。

于 2011-06-19T03:53:52.210 回答