你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS橫屏豎屏問題---1

IOS橫屏豎屏問題---1

編輯:IOS開發綜合
引言:   iPhone的橫屏豎屏針對iOS系統版本分為兩種開發方式: 一種是iOS 6之前的使用模式 一種是iOS6的新模式. 兩者的區別還是蠻大的.               使用:   支持自動旋轉?   iOS6之前通常使用 shouldAutorotateToInterfaceOrientation 來單獨控制某個UIViewController的方向,需要哪個viewController支持旋轉,只需要重寫shouldAutorotateToInterfaceOrientation方法。如下示例,設置以後,屏幕被旋轉時只支持橫屏轉換:   [csharp]   - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation   {      return UIInterfaceOrientationIsLandscape(interfaceOrientation);   }   iOS6之後使用如下兩個方法控制自動旋轉,分別是:   [csharp]    - (BOOL)shouldAutorotate   {       NSLog(@"讓不讓我旋轉?");       return YES;   }      - (NSUInteger)supportedInterfaceOrientations {       NSLog(@"讓我旋轉哪些方向");       return UIInterfaceOrientationMaskAllButUpsideDown;   }           那麼在自動旋轉觸發後,系統會自動調用另外兩個方法:   [csharp]   - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {       [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];       NSLog(@"將要旋轉了?");   }      - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {       [super didRotateFromInterfaceOrientation:fromInterfaceOrientation];       NSLog(@"如果讓我旋轉,我已經旋轉完了!");          }           2:讓程序第一次啟動時立刻顯示橫屏還是豎屏的方式   此處   如果是iOS6之前,下面設置的設備支持方向可在應用裡面再被修改   如果是iOS6以後,會做為硬性條件,也就是如果設置了以後,應用裡面的代碼也無法再使用這個方向     3:傳說中的私有API實現切換ViewController強制橫屏的方式   [csharp]  if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {           [[UIDevice currentDevice] performSelector:@selector(setOrientation:)                                          withObject:(id)UIInterfaceOrientationLandscapeRight];       }     4:使用xib進行界面設計時,改變xib的橫豎顯示方式
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved