旋轉有時候是很好的特性,但是並不是所有的程式介面都想旋轉的,因為旋轉會使得介面變得不和諧,除非你已經開發了專門針對各種方向的介面,所以有時候還是禁用旋轉比較好,或者程式中的某個介面是橫屏的,退出這個橫屏視圖之後介面又變成豎屏的,比如看視頻或者瀏覽網頁的時候你希望是橫屏的,但是其他的工作你希望是豎屏的。OK,這一切都不是問題。我們可以通過代碼來控制我們程式中每個介面的旋轉功能。
在你想要設定的視圖控制器裡找到 shouldAutorotateToInterfaceOrientation: 方法,重寫它的實現代碼:
[java]
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
系統通過調用此方法詢問試圖控制是否旋轉到指定方向。系統共定義了4種方向,分別對應4種常見握持方式:
[java]
typedef enum {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft
} UIInterfaceOrientation;
如果想要對任何情況都支援旋轉只要返回YES即可,如果只想部分支援就對支援的返回YES 不支援的返回NO。
最後附上Demo代碼:http://www.bkjia.com/uploadfile/2012/0309/20120309101115748.zip
摘自 劉偉Lewis-IOS應用開發