我在這裏看到幾個關於這個問題,但我真的不明白究竟是我應該怎麼做來實現UIViews的旋轉。UIView ipad rotation
我有兩個默認的PNG景觀和肖像模式,但如何認爲知道在特定的時間,它必須旋轉自己的內容?我應該實施什麼方法,以及當設備旋轉/改變方向時,我應該改變方向,當應用程序以設備未處於默認方向時開始?
我應該還實施方向更改通知的回調?如果是的話,我該怎麼做?
我只需要一些清晰的信息。我有點困惑。
謝謝你在前進, -Albé
我在這裏看到幾個關於這個問題,但我真的不明白究竟是我應該怎麼做來實現UIViews的旋轉。UIView ipad rotation
我有兩個默認的PNG景觀和肖像模式,但如何認爲知道在特定的時間,它必須旋轉自己的內容?我應該實施什麼方法,以及當設備旋轉/改變方向時,我應該改變方向,當應用程序以設備未處於默認方向時開始?
我應該還實施方向更改通知的回調?如果是的話,我該怎麼做?
我只需要一些清晰的信息。我有點困惑。
謝謝你在前進, -Albé
我想你可能會在UIViewController
尋找實際。請參見Responding to View Rotation Events中的類參考,當然還有View Controller Programming Guide。您的視圖控制器實例會在監視設備狀態時從OS獲取這些消息,並且這是響應基本設備方向更改的標準配方。
如果無論出於何種原因,您確定這個簡單的本地旋轉功能對您來說是不夠的,您當然也可以操作UIView的。這在Core Animation Programming Guide中有詳細說明,基本上,您可以通過使用像CATransform3DMakeRotation這樣的函數更改Layer轉換來操縱幾何。
This SO article有最佳實踐的良好信息。
下面是我在通用應用程序(iPad和iPhone)中使用的方法。我的iPhone版本不改變方向,但iPad版本確實如此。 UIInterfaceOrientationPortrait
檢查可能是多餘的。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return YES; // supports all orientations
}
if (interfaceOrientation == UIInterfaceOrientationPortrait) {
return YES;
}
return NO;
}
此方法進入任何我想支持旋轉的視圖。
Info.plist中還有一個用於常規和iPad旋轉的按鍵。 iPad的版本是UISupportedInterfaceOrientations~ipad
謝謝你的快速和有用的答覆。 – Donovan 2010-07-10 13:45:55