2010-08-27 58 views
0

我遇到了一些問題,我的某些視圖在應用程序負載上看起來不正確,直到旋轉設備,以及一些旋轉後的外觀正確但旋轉不正確的位置。MonoTouch應用程序 - 旋轉時的佈局問題

我有一個窗口,加載視圖A和按下按鈕後,從窗口(RemoveFromSuperView)分離視圖A並加載視圖B並將其添加到窗口。

查看A - 底部有白色空間,狀態欄的高度在設備旋轉時固定。

查看B - 看起來正確的負載,但有一部分在設備旋轉後切掉底部。

什麼會導致這種奇怪的行爲?

如果我通過文件 - >模擬接口從Interface Builder查看我的XIB文件,它們工作正常。但是它們不適用於我的應用程序,同樣的事情也發生在實際的設備上。

PS - 我不認爲我有任何應該導致這種情況的自定義代碼,我只是在IB中創建視圖A和B,並將它們連接到子類控制器,以便我可以重寫ShouldAutorotateToInterfaceOrientation。

回答

0

這是因爲我的視圖控制器正在從代碼創建。

我切換到我的控制器是從XIB文件創建的,顯然他們正確調整了大小,並在進行此操作時考慮狀態欄。

我還必須在Interface Builder中檢查「Resize View From NIB」,其中存在適當的子NIB名稱。如果你的控制器沒有放在第二個XIB文件中,你可以跳過這一步。

+0

我發現這種情況發生的另一種情況是,TabBarController的視圖是另一個控制器的子視圖。爲了解決這個問題,我將父控制器的View屬性設置爲TabBarController的View。對於我正在嘗試做的事情來說,這看起來很不愉快,但我找不到解決問題的方法。 – jonathanpeppers 2010-09-01 21:03:23