UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的方向

来源:互联网 发布:tensorflow lite介绍 编辑:程序博客网 时间:2024/06/10 00:26

 

UIDeviceOrientation      是机器硬件的当前旋转方向   这个你只能取值 不能设置

UIInterfaceOrientation   是你程序界面的当前旋转方向   这个可以设置

 

判断设备现在的方向:

 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  {      //宣告一個UIDevice指標,並取得目前Device的狀況      UIDevice *device = [UIDevice currentDevice] ;       //取得當前Device的方向,來當作判斷敘述。(Device的方向型態為Integer)      switch (device.orientation) {          case UIDeviceOrientationFaceUp:          NSLog(@"螢幕朝上平躺");              break;          case UIDeviceOrientationFaceDown:          NSLog(@"螢幕朝下平躺");              break;                       //系統無法判斷目前Device的方向,有可能是斜置           case UIDeviceOrientationUnknown:          NSLog(@"未知方向");              break;          case UIDeviceOrientationLandscapeLeft:          NSLog(@"螢幕向左橫置");              break;          case UIDeviceOrientationLandscapeRight:          NSLog(@"螢幕向右橫置");              break;          case UIDeviceOrientationPortrait:          NSLog(@"螢幕直立");              break;          case UIDeviceOrientationPortraitUpsideDown:          NSLog(@"螢幕直立,上下顛倒");              break;          default:          NSLog(@"無法辨識");              break;      }      // Return YES for supported orientations      return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向  }  

 

或者

 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  {      UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;      if (UIDeviceOrientationIsLandscape(deviceOrientation)) NSLog(@"横向");          else if(UIDeviceOrientationIsPortrait(deviceOrientation)) NSLog(@"纵向");            // // Return YES for supported orientations      return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向  } 

 Portrait 表示 纵向,Landscape 表示 横向。

 

typedef enum {      UIDeviceOrientationUnknown,      UIDeviceOrientationPortrait,  // Device oriented vertically, home button on the bottom      UIDeviceOrientationPortraitUpsideDown,  // Device oriented vertically, home button on the top      UIDeviceOrientationLandscapeLeft,  // Device oriented horizontally, home button on the right      UIDeviceOrientationLandscapeRight, // Device oriented horizontally, home button on the left      UIDeviceOrientationFaceUp, // Device oriented flat, face up      UIDeviceOrientationFaceDown// Device oriented flat, face down  } UIDeviceOrientation; 

 

 

typedef enum {      UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,      UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,      UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,      UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft  } UIInterfaceOrientation; 

 

 

#define UIDeviceOrientationIsPortrait(orientation)  ((orientation) ==UIDeviceOrientationPortrait || (orientation) ==UIDeviceOrientationPortraitUpsideDown)  #define UIDeviceOrientationIsLandscape(orientation) ((orientation) ==UIDeviceOrientationLandscapeLeft || (orientation) ==UIDeviceOrientationLandscapeRight)  

 

 

 

 

阅读全文
0 0
原创粉丝点击