2012-06-03 126 views
0
選擇不同的視圖時/ iAd的問題

我已經創建了一個二進制時鐘和現在用的是iOS5的故事板橫向/縱向按鈕位置從的TabBar

willAnimateToInterfaceOrientation: duration: 

方法以將開/關按鈕,用於無論是縱向或橫向方向。我有兩個選項卡,第一個是二進制時鐘本身,第二個是如何讀取時鐘的指令。

這是問題所在。 iPad的主屏幕自動從肖像切換到風景,所以我可以在任一方向啓動我的應用程序。另一方面,iPhone僅以縱向顯示其主屏幕。這很好,但是當我啓動我的應用程序時,按任一選項卡按鈕,然後更改方向,而在屏幕(時鐘或指令)更改方向時,選擇另一個選項卡按鈕可顯示以前方向中的內容。在同一視圖(時鐘或指令)中,方向更改完美無瑕,但從一個視圖切換到另一個視圖時,更改方向後,內容無法正確顯示。

也就是說,我在iPad上以橫向模式啓動了我的應用程序。默認情況下,出現二進制時鐘視圖。如果我改變爲縱向,時鐘會按預期改變。那麼,如果我的iPad保持縱向模式,按下說明選項卡按鈕,內容和iAd橫幅(或有時只是橫幅廣告)將以橫向顯示。到目前爲止,唯一的解決方案是將方向從目前的設置改變到另一個,然後再回來,但這是不可接受的。

有沒有不同的方法可以用來檢查調用視圖時的方向並正確顯示內容?很明顯,我有什麼不能正常工作。

回答

0

如果您在視圖基礎上定向dinamically搬東西,你必須檢查當前方向在兩個地方:

  1. willAnimate ...方法

    ,這是確定的。發生旋轉時會調用此方法,並且主VC視圖可見。

  2. viewWillAppear方法!

如果在VC不可見時方向改變,則不調用willAnimate ...方法。因此,在顯示視圖之前,您應該檢查設備方向並正確設置視圖/子視圖。

只需使用[[UIDevice currentDevice] orientation];方法viewWillAppear來檢查當前的方向是什麼,並正確設置您的視圖

相關問題