• ios 设备方向判断


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

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

    判断设备现在的方向:

    C代码  收藏代码
    1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
    2. {  
    3.     //宣告一個UIDevice指標,並取得目前Device的狀況  
    4.     UIDevice *device = [UIDevice currentDevice] ;   
    5.       
    6.     //取得當前Device的方向,來當作判斷敘述。(Device的方向型態為Integer)  
    7.     switch (device.orientation) {  
    8.         case UIDeviceOrientationFaceUp:  
    9.         NSLog(@"螢幕朝上平躺");  
    10.             break;  
    11.               
    12.         case UIDeviceOrientationFaceDown:  
    13.         NSLog(@"螢幕朝下平躺");  
    14.             break;  
    15.               
    16.         //系統無法判斷目前Device的方向,有可能是斜置   
    17.         case UIDeviceOrientationUnknown:  
    18.         NSLog(@"未知方向");  
    19.             break;  
    20.               
    21.         case UIDeviceOrientationLandscapeLeft:  
    22.         NSLog(@"螢幕向左橫置");  
    23.             break;  
    24.               
    25.         case UIDeviceOrientationLandscapeRight:  
    26.         NSLog(@"螢幕向右橫置");  
    27.             break;  
    28.               
    29.         case UIDeviceOrientationPortrait:  
    30.         NSLog(@"螢幕直立");  
    31.             break;  
    32.               
    33.         case UIDeviceOrientationPortraitUpsideDown:  
    34.         NSLog(@"螢幕直立,上下顛倒");  
    35.             break;  
    36.               
    37.         default:  
    38.         NSLog(@"無法辨識");  
    39.             break;  
    40.     }  
    41.   
    42.     // Return YES for supported orientations  
    43.     return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向  
    44. }  

    或者

    C代码  收藏代码
    1. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
    2. {  
    3.     UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;  
    4.     if (UIDeviceOrientationIsLandscape(deviceOrientation)) NSLog(@"横向");      
    5.     else if(UIDeviceOrientationIsPortrait(deviceOrientation)) NSLog(@"纵向");  
    6.       
    7.     // // Return YES for supported orientations  
    8.     return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft); // 只支持向左横向, YES 表示支持所有方向  
    9. }  

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

    C代码  收藏代码
    1. typedef enum {  
    2.     UIDeviceOrientationUnknown,  
    3.     UIDeviceOrientationPortrait,            // Device oriented vertically, home button on the bottom  
    4.     UIDeviceOrientationPortraitUpsideDown,  // Device oriented vertically, home button on the top  
    5.     UIDeviceOrientationLandscapeLeft,       // Device oriented horizontally, home button on the right  
    6.     UIDeviceOrientationLandscapeRight,      // Device oriented horizontally, home button on the left  
    7.     UIDeviceOrientationFaceUp,              // Device oriented flat, face up  
    8.     UIDeviceOrientationFaceDown             // Device oriented flat, face down  
    9. } UIDeviceOrientation;  
    C代码  收藏代码
    1. typedef enum {  
    2.     UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,  
    3.     UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,  
    4.     UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,  
    5.     UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft  
    6. } UIInterfaceOrientation;  

      

    C代码  收藏代码
    1. #define UIDeviceOrientationIsPortrait(orientation)  ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown)  
    2. #define UIDeviceOrientationIsLandscape(orientation) ((orientation) == UIDeviceOrientationLandscapeLeft || (orientation) == UIDeviceOrientationLandscapeRight)  

    上面是重要的源代码,已经解释的非常清楚。UIDeviceOrientationIsPortrait(orientation) 跟  ((orientation) == UIDeviceOrientationPortrait || (orientation) == UIDeviceOrientationPortraitUpsideDown) 完全是一个意思。

  • 相关阅读:
    关于Idea中右边的maven projects窗口找不到了如何调出来
    如何解决IntelliJ idea的maven工程提示的Cannot Resolve Symbol
    代码战争
    golang学习笔记----并发
    golang --学习笔记 运行时间计算
    golang ---timeb
    go ---MQTT client
    golang --strings
    Windows ----tasklist/taskkill
    转Tasklist(windows)
  • 原文地址:https://www.cnblogs.com/iphone520/p/2575833.html
Copyright © 2020-2023  润新知