UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法

来源:互联网 发布:结对编程搞笑图片 编辑:程序博客网 时间:2024/05/17 08:17
UIDeviceOrientation      是机器硬件的当前旋转方向   这个你只能取值 不能设置UIInterfaceOrientation   是你程序界面的当前旋转方向   这个可以设置判断设备现在的方向:C代码  收藏代码- (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 表示支持所有方向  }  或者C代码  收藏代码- (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 表示 横向。C代码  收藏代码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;  C代码  收藏代码typedef enum {      UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,      UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,      UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,      UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft  } UIInterfaceOrientation;  C代码  收藏代码#define UIDeviceOrientationIsPortrait(orientation)  ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown)  #define UIDeviceOrientationIsLandscape(orientation) ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight)  上面是重要的源代码,已经解释的非常清楚。UIDeviceOrientationIsPortrait(orientation) 跟  ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown) 完全是一个意思。
0 0