iOS的iPhone app在iPad下的显示

2018-10-25  本文已影响149人  Zszen

这是针对ipad上显示iphone游戏展开的研究,比较冷门

typedef enum {
    ScreenType_NONE=0,
//  ScreenType_iPhone3gs=1<<0,
    ScreenType_iPhone4=1<<1,
    ScreenType_iPhone5=1<<2,
    ScreenType_iPhone8=1<<3,
    ScreenType_iPhone8Plus=1<<4,//6p,7p
    ScreenType_iPhone8PlusZoomed=1<<5,//6pzoomed,7pzoome
    ScreenType_iPhoneX=1<<6,//ScreenType_iPhoneXS
    ScreenType_iPhoneXR=1<<7,
    ScreenType_iPhoneXSMax=1<<8,//
//  ScreenType_iPadSd=1<<15,
//  ScreenType_iPadHd=1<<16,
//  ScreenType_iPad9=1<<17,
//  ScreenType_iPad10=1<<18,
//  ScreenType_iPad12=1<<19,
////    ScreenType_iPad12Zoomed=1<<20,
    ScreenType_All = -1,
    ScreenType_hasCorner = ScreenType_iPhoneX||ScreenType_iPhoneXSMax,
//  ScreenType_isIpad = ScreenType_iPadSd|ScreenType_iPadHd|ScreenType_iPad9|ScreenType_iPad10|ScreenType_iPad12,
//  ScreenType_isIphone = ~ScreenType_isIpad,
}ScreenType;
-(ScreenType)screenType{
    CGSize boundsSize = [UIScreen mainScreen].bounds.size;
    NSInteger scaleFactor = CC_CONTENT_SCALE_FACTOR();
    NSLog(@"boundsSize %@ scaleFactor %d",NSStringFromCGSize(boundsSize),(int)scaleFactor);
    if(CGSizeEqualToSize(boundsSize, CGSizeMake(320, 480))){
        _screenType = ScreenType_iPhone4;
    }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(320, 568))){
        _screenType = ScreenType_iPhone5;
    }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(375, 667))){
        if(scaleFactor==3){
            _screenType = ScreenType_iPhone8PlusZoomed;
        }else {//scaleFactor==2
            _screenType = ScreenType_iPhone8;
        }
    }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(414, 736))){
        _screenType = ScreenType_iPhone8Plus;
    }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(375, 812))){
        _screenType = ScreenType_iPhoneX;
    }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(414, 896))){
        if(scaleFactor==3){
            _screenType = ScreenType_iPhoneXSMax;
        }else if(scaleFactor==2){
            _screenType = ScreenType_iPhoneXR;
        }else{
            _screenType = ScreenType_iPhoneXR;
        }
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(2048, 2732))){
        //          _screenType = ScreenType_iPad12;
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(2048, 2732))){
        //          _screenType = ScreenType_iPad12;
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(1668, 2224))){
        //          _screenType = ScreenType_iPad10;
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(1536, 2048)) && CGSizeEqualToSize(boundsSize,CGSizeMake(375, 667))){
        //          _screenType = ScreenType_iPad9;
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(1536, 2048))){
        //          _screenType = ScreenType_iPadHd;
        //      }else if(CGSizeEqualToSize(boundsSize, CGSizeMake(768, 1024))){
        //          _screenType = ScreenType_iPadSd;
    }else{
        _screenType = ScreenType_iPhone4;
    }
    return _screenType;
}
上一篇 下一篇

猜你喜欢

热点阅读