美文网首页
iOS 不同机型屏幕适配

iOS 不同机型屏幕适配

作者: 管乐_VICTOR | 来源:发表于2018-02-01 09:53 被阅读395次

    当iPhone手机机型不同的时候,需要考虑到屏幕的适配问题,我们可以先在.pch文件中写上全局变量,之后用到的时候,会方便很多。

    // .pch 文件中写
    // 判断是iPhone机型
    /*
     * 4s 960 * 640
     * 5/5s 1136 x 640
     * 6/6s/7/8 4.7英寸 1334 x 750
     * 6p/6sp/7p/8p 5.5英寸 1920 x 1080
     * X 5.8英寸 2436 x 1125
     }
     */
    #define IS_IPHONE_4s [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : \
    NO
    #define IS_IPHONE_5s [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : \
    NO
    #define IS_IPHONE_6s [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : \
    NO
    #define IS_IPHONE_6sp [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(1080, 1920), [[UIScreen mainScreen] currentMode].size) : \
    NO
    #define IS_IPHONE_X [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : \
    NO
    
    
    #define IS_IPHONE_X [UIScreen instancesRespondToSelector:@selector(currentMode)] ? \
    CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : \
    NO
    // 上面的表达方式和下面的一样,都是用的三目运算符,只是没有加行尾的“\”
    #define IS_IPHONE_X [UIScreen instancesRespondToSelector:@selector(currentMode)] ?CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO
    

    然后在用到的时候,只需要调用就OK了

        if (IS_IPHONE_4s) {
            // 如果是iPhone4s的话
            <#代码...#>
        }
    

    相关文章

      网友评论

          本文标题:iOS 不同机型屏幕适配

          本文链接:https://www.haomeiwen.com/subject/vunrzxtx.html