//屏幕尺寸
CGRect rect = [[UIScreen mainScreen] bounds];
CGSize size = rect.size;
CGFloat width = size.width;
CGFloat height = size.height;
NSLog(@"print %f,%f",width,height);
//分辨率
CGFloat scale_screen = [UIScreen mainScreen].scale;
CGFloat width = size_screen.width*scale_screen;
CGFloat height = size_screen.height*scale_screen;
相应机型的scale:
iPhone4s :2
iPhone5 :2
iPhone5s :2
iPhoneSE :2
iPhone6 :2
iPhone6+:3
iPhone7 :2
iPhone7+:3
#import <sys/utsname.h>
#import <UIKit/UIKit.h>
#define Scale_screen [UIScreen mainScreen].scale
//获取ipad的ppi
+ (NSInteger)machinePPI{
struct utsname systemInfo;
uname(&systemInfo);
NSString *name = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if ([name containsString:@"mini"]) {
return 163 * Scale_screen;
}else {
return 132 * Scale_screen;
}
}
3、iOS的三种分辨率
1)、资源分辨率:资源图片的大小,单位是像素。
2)、设计分辨率:逻辑上的屏幕大小,单位是点。我们在Interface Builder设计器中的单位和程序代码中的单位都是设计分辨率中的“点”。
3)、是以像素为单位的屏幕大小,所有的应用都会渲染到这个屏幕上展示给用户。
iPhone 6 Plus和 6S Plus是最为特殊的设备,资源分辨率与屏幕分辨率的比例是1.15 : 1, 而其他的设备比例是1 : 1。不同的人群关注的分辨率也是不同的,UI设计人员主要关注的是资源分辨率,开发人员主要关注的是设计分辨率,而一般用户主要关注的屏幕分辨率。