当iPhone旋转时自动调整的问题

问题描述:

在我的iPhone应用程序中,当我旋转iPhone时,我在内容视图内想要缩放的视图以及其所有子视图中都有一个视图(我们称之为RectangleView)。所以,当手机从横向旋转到纵向模式时,我希望RectangleView(及其所有子视图)保持其原始形状和位置相对于彼此,但只是变小。我正在使用它和它在Interface Builder中的所有子视图来尝试执行此操作。当iPhone旋转时自动调整的问题

现在是这个问题。当手机旋转时,RectangleView的所有子视图都会相对于整个内容视图进行缩放和移动,而不是相对于其父视图(即RectangleView)。这是一个问题,因为内容视图现在与以前的不同(横向)是不同的形状(纵向),所以当屏幕上的所有元素都放在错误的位置时,只能在RectangleView中缩小。我很困惑,因为其中一些元素甚至移出RectangleView,我甚至不知道它们是可能的,因为它们应该包含在RectangleView中。

任何人都可以解释这里可能发生了什么,以及我如何才能缩放RectangleView及其所有子视图以保留其原始形状和位置,但只是规模较小?提前致谢!

您确定它们正在移出RectangleView,而不是RectangleView正在调整大小并填充内容区域吗?另外,我不确定它是否有所作为,但是我发现我需要在旋转后调用[view setNeedsDisplay]以使我的自定义视图正常工作。

+0

是的,我确定它们确实在移动到RectangleView之外,并且RectangleView保留了它的原始形状......并且,在调整大小后我调用RectangleView的每个子视图,以确认它们确实是RectangleView的子视图,他们是。他们只是以某种方式移出RectangleView。 此外,我试着调用[RectangleView setNeedsDisplay],但它只是让RectangleView调整自己的大小来填充内容区域。 – 2010-01-26 20:44:23