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