IOS获取屏幕的真实宽高

在iOS开发中,作者发现iOS7和iOS8横屏时屏幕宽高获取存在差异。为解决这个问题,作者自行编写了一个方法,并提供了一个Swift版本的实现。如有需要,作者愿意通过邮件分享Demo。


 小弟最近在开发IOS应用,却发现一个问题,IOS7和IOS8在横屏模式下得到的宽高是不一样的,竖屏是一样的,但是在网上却没有找到类似的解决方法,于是自己写了一个方法,如要使用,直接粘贴到viewcontroller即可

 

/*
 根据系统版本号得到真实的宽高
 isWidth是YES,那么代表得到宽度,是NO代表得到高度
 */
-(float) getTrueWidthOrHeight:(BOOL) isWidth{
    //得到屏幕的大小
    CGRect myRect=[UIScreen mainScreen].bounds;
    float length=0.0f;
    //得到系统版本号
    double version = [[UIDevice currentDevice].systemVersion doubleValue];
    
    //如果系统版本号小于8.0f,即是7.X或以下,且还是横屏
    if(version<8.0f&&(self.interfaceOrientation==UIDeviceOrientationLandscapeRight||self.interfaceOrientation==UIDeviceOrientationLandscapeLeft)){
        //那么要得到的宽高要反过来
        if (isWidth) {
            length =myRect.size.height;
        }
        else{
            length=myRect.size.width;
        }
        
    }
    else{
        if (isWidth) {
            length=myRect.size.width;
        }
        else{
            length=myRect.size.height;
        }
    }
    
    return length;
    
}


如果需要Demo的话,请在评论中写上你的邮箱,我会给你发过去的

又写了一篇博客,是用swift语言实现此功能   链接: swift获取屏幕的宽高



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值