2011-07-11 92 views
5

讓我解釋一下當我說我也想旋轉我的子視圖時我的意思。我放置了很多圖片讓自己清楚。這可能看起來很多,但事實並非如此。只是想澄清。當設備旋轉時,使子視圖也旋轉iPhone/iPad

在我目前正在使用的nib文件中,我有一個UIView和按鈕。

enter image description here

,我在Interface Builder創建的UIView與IBOutlet中名爲ViewMain連接:

enter image description here

和按鈕,執行下面的方法: enter image description here

什麼該方法的作用是它將來自另一個nib文件的視圖放入我在interface builde中創建的UIView控制器中河那我其實把筆尖文件是:

enter image description here

我只是隨意放置控件來更好地說明我的觀點。

所以一切到目前爲止是偉大的(從anotherViewController視圖顯示了對ViewMain當用戶按下按鈕)

enter image description here

enter image description here

一切看起來都很好,但注意時會發生什麼我在旋轉我的設備:

enter image description here

我希望我的子視圖(anotherViewController.view)也可以調用。我不介意它比ViewMain更大,因爲我可以擁有透明背景。我只需要旋轉它。我怎樣才能做到這一點?

+0

你想讓它旋轉嗎?或者您是否希望視圖將其尺寸更改爲與新尺寸相匹配? –

+0

以匹配外部/根視圖的尺寸......旋轉沒有任何子視圖的UIView時會發生同樣的情況。我希望它具有白色背景的uiview。並調整它可能是一個解決方案。雖然我不知道該怎麼做 –

+1

這不是旋轉的原因是因爲它的viewController不在視圖控制器層次結構中,所以沒有得到輪換通知。它包含在wwdc會話102或104中,如果您有權訪問視頻(http://developer.apple.com/videos/wwdc/2011/) – MCannon

回答

3

在你UIViewController定義shouldAutorotateToInterfaceOrientation:所以它總是返回YES:瞭解更多詳情

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

here

您還應該小心地正確定義視圖和子視圖的自動調整行爲,以便在自動旋轉時一切正常。

編輯:

設置在界面生成器視圖中的自動調整大小屬性,選擇視圖,然後轉到「視圖大小」窗格中的信息窗口,並設置「自動調整大小」,如下圖所示。

enter image description here

+0

該方法默認存在並且仍然不旋轉...此外,該方法是在我所有的.m文件。也許我必須從按鈕執行代碼時從根視圖調用該方法。 –

+0

你可以添加一張你想獲得的佈局的圖片嗎? – sergio

+0

我還不知道,因爲我打算根據用戶按下的按鈕添加幾個視圖。但是你說的最後一件事聽起來像是一個好主意。也許我只是不得不重新調整大小到根uiview的尺寸,這是我發佈sergio的最後一張圖片上有白色的尺寸... –