2010-05-10 31 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

相關問題