2010-07-10 102 views
0

我在這裏看到幾個關於這個問題,但我真的不明白究竟是我應該怎麼做來實現UIViews的旋轉。UIView ipad rotation

我有兩個默認的PNG景觀和肖像模式,但如何認爲知道在特定的時間,它必須旋轉自己的內容?我應該實施什麼方法,以及當設備旋轉/改變方向時,我應該改變方向,當應用程序以設備未處於默認方向時開始?

我應該還實施方向更改通知的回調?如果是的話,我該怎麼做?

我只需要一些清晰的信息。我有點困惑。

謝謝你在前進, -Albé

回答

2

我想你可能會在UIViewController尋找實際。請參見Responding to View Rotation Events中的類參考,當然還有View Controller Programming Guide。您的視圖控制器實例會在監視設備狀態時從OS獲取這些消息,並且這是響應基本設備方向更改的標準配方。

如果無論出於何種原因,您確定這個簡單的本地旋轉功能對您來說是不夠的,您當然也可以操作UIView的。這在Core Animation Programming Guide中有詳細說明,基本上,您可以通過使用像CATransform3DMakeRotation這樣的函數更改Layer轉換來操縱幾何。

This SO article有最佳實踐的良好信息。

+0

謝謝你的快速和有用的答覆。 – Donovan 2010-07-10 13:45:55

1

下面是我在通用應用程序(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