2011-02-25 89 views
0

主視圖我會很感激一些幫助,然後花費更多的時間在試驗和錯誤。不應該旋轉,但應包括子視圖,包括UIPopoverController

想象一下:我剛剛開始爲iPad創建一些東西,它看起來像一個儀表板,上面有一個撥號號碼。在旋轉iPad(縱向,橫向左右等)時,背景不應旋轉,撥盤位置應保持不變,但撥盤內部應旋轉至正確的位置。所以,主視圖不應該旋轉,但子視圖(在撥號內)應該。我之前已經在iPhone上完成了這個工作,通過告訴viewController只在肖像中,然後檢查UIDeviceOrientation,所以我認爲這會很容易。但是當我顯示一個UIPopoverController時,我的頭痛開始了。由於我沒有更改UIInterfaceOrientation,所以UIPopoverController將始終處於縱向狀態。

理想的解決方案是讓主視圖(viewController中的self.view)不會觀察旋轉的變化,但允許子視圖執行此操作,但從我所瞭解的情況來看,這是不可能的。我能想到的其他解決方案是不旋轉旋轉變化,並將子視圖(撥號)移動到新的位置。動畫他們(子視圖)使舞蹈遍佈各地。但我還沒有找到任何有關如何做到這一點的好方法。

任何想法的人?

回答

0

您認爲如果主視圖不旋轉,子視圖自動旋轉是不可能的。

一個解決問題的方法是:旋轉視圖時動畫的內容是視圖變換中的變化。我非常確定您可以註冊以接收設備方向更改,並且當您獲得更改時,將轉換更改設置爲包含所有要旋轉的子視圖的容器視圖。

編輯:剛剛閱讀你有一個popover控制器。

就彈出窗口而言,API管理自動旋轉的方式是隱藏彈出窗口,然後在旋轉結束時再次顯示它。實施類似的行爲不應該太難。

發生在我身上的另一件事是:你想不要只旋轉背景?它會工作,只有兩個背景,一個用於肖像,一個用於可以切換的景觀?它可能不是最漂亮的外觀,但它可能比自己重新創建自轉行爲更容易。

+0

謝謝西蒙。 基本上我希望撥號保持在同一位置,只需根據iPad操作系統的方式圍繞其中心旋轉即可。這可以通過註冊方向更改輕鬆完成。 這裏的「問題製造者」是popover控制器(總是?)將在活動的UIInterfaceOrientation中顯示。 我會嘗試做的是在動畫過程中淡出到新的方向,然後再次淡入。 – Structurer 2011-02-26 04:50:42

+0

是的,popover控制器似乎需要一點工作。我有些惱火,有些行爲是我無法影響的。 – 2011-02-26 04:53:08