为什么我的UIView职位会以我不期望的方式改变?

时间:2010-05-10 19:55:07

标签: uiview ipad

启动和旋转视图时,我的iPad应用程序无法达到我的预期效果。

AppDelegate有 mainController.view作为子视图 和mainController有splashController.view作为子视图

mainController通过调用它的同名子视图控制器方法(然后是super方法)来响应willAnimateRotationToInterfaceOrientation。

splashController的图像视图为1024 x 1024.所以我试图将它放在子视图中。

旋转时,我调整所有视图的边界(在willAnimateRotation ...方法中),如下所示:

风景1024 x 768
肖像768 x 1024

然后我通过划分上述值来将视图集中在同一方法中。

我并不担心此时10个像素状态栏的细节。

当应用程序以纵向方式启动并旋转到横向时,应用程序会按预期执行。

当我启动或旋转到横向时,视图会全部搞砸。即使我改变了中心,图像也离左/上或右/下太远了。 (并没有调整框架)。

为什么这只发生在横向左侧或右侧,而不是纵向或纵向颠倒?

1 个答案:

答案 0 :(得分:0)

不知道为什么这种情况会发生在某些情况下而不会发生在其他情况下,但我认为您可以通过简单地为splashView设置自动调整遮罩而不是拦截旋转并重新调整视图来让自己的生活更轻松

尝试在加载时设置这些:

splashView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
splashView.contentMode = UIViewContentModeCenter;

并放弃你的willAnimateRotate ...代码。

戴夫

相关问题