2010-05-10 92 views
1

我的iPad应用程序在启动和旋转视图时没有达到我期望的效果。为什么我的UIView位置以我不指望的方式改变?

AppDelegate中具有 mainController.view作为副视野 和mainController具有splashController.view作为副视野

mainController响应通过调用它是同一个名字的子视图控制器方法willAnimateRotationToInterfaceOrientation(然后超级方法)。

splashController具有1024 x 1024的图像视图。所以我试图将它居中在子视图中。

旋转时,我调整的所有意见的范围(在willAnimateRotation ...方法)是这样的:

景观1024×768
肖像768×1024

然后我中心的意见在同样的方法中,通过除以上值。

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

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

当我启动或旋转到横向时,视图会变得混乱。尽管我已经改变了中心,但图像离左/上或右/下太远。 (并没有调整框架)。

为什么这只发生左或右的风景,而不是肖像或肖像颠倒?

回答

0

不知道为什么这会发生在某些情况下,但不会发生在其他情况下,但我认为你可以通过设置自动调整屏幕的splashView而不是拦截旋转和重新调整视图。

尝试在加载时设置这些:

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

和沟您willAnimateRotate ...代码。

Dave

相关问题