mainScreen ] bounds ]. size . height == 568.0 ) && (( IS_OS_8_OR_LATER && [ UIScreen mainScreen ]. nativeScale == [ UIScreen mainScreen ]. scale ) || ! IS_OS_8_OR_LATER )) //#define IS_STANDARD_IPHONE_6 ( IS_IPHONE && [[ UIScreen mainScreen ] bounds ]. size . height == 667.0 && IS_OS_8_OR_LATER && [ UIScreen mainScreen ]. nativeScale == [ UIScreen . size . height == 568.0 && IS_OS_8_OR_LATER && [ UIScreen mainScreen ]. nativeScale > [ UIScreen
([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? [UIScreen mainScreen].bounds #define ZJScreen_Height [UIScreen mainScreen].bounds.size.height #define ZJScreen_Width [UIScreen mainScreen].bounds.size.width 颜色 //----------------------颜色类---------------
#define IS_IPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? _5 ([UIScreen instancesRespondToSelector: @selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
识别手机机型使用的是几倍图,一般通过这个值来识别:[UIScreen mainScreen].scale。 准确的倍图计算公式是:round(屏幕截图宽度/[[UIScreen mainScreen] bounds].size.width)。 屏幕截图(上传苹果商店的屏幕快照或者用手机截屏得到的图片)的宽度(或高度)除以物理宽度(或高度,宽度是[[UIScreen mainScreen] bounds].size.width,高度是[[UIScreen 812.000000, [UIScreen mainScreen].scale:2.000000),所以它是用2倍图。 mainScreen].scale, [UIScreen mainScreen].scale, LL_iPhoneX?
animateWithDuration:0.3 animations:^{ if (hidden) { view.frame = CGRectMake(0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width, view.bounds.size.height); } else { [view setHidden:hidden]; view.frame = CGRectMake(0, [UIScreen mainScreen].bounds.size.height - view.bounds.size.height, [UIScreen mainScreen].bounds.size.width, view.bounds.size.height
userInterfaceIdiom] == UIUserInterfaceIdiomPhone) #define UI_IS_IPHONE4 (UI_IS_IPHONE && [[UIScreen mainScreen] bounds].size.height < 568.0) #define UI_IS_IPHONE5 (UI_IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0) #define UI_IS_IPHONE6 (UI_IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0) #define UI_IS_IPHONE6PLUS (UI_IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0 || [[UIScreen mainScreen] bounds].size.width == 736.0) // Both
mainScreen].bounds.size.width*progress, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen mainScreen].bounds.size.width, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); } completion:^(BOOL finished mainScreen].bounds.size.width*progress, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen mainScreen].bounds.size.width, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height
获取屏幕宽、高的方法如下: // 设备宽度 [UIScreen mainScreen].bounds.size.width // 设备高度 [UIScreen mainScreen] mainScreen].bounds.size.width #define SCREENHEIGHT [UIScreen mainScreen].bounds.size.height ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO) 那么我只需要判断这几个值哪一个是
iPhone X:返回YES或NO 1.1 判断:宏 (1)依据屏幕分辨率 三目运算法 //是否iPhoneX YES:iPhoneX屏幕 NO:传统屏幕 #define kIs_iPhoneX ([UIScreen CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO) 多行逻辑判断 //是否 iPhoneX 1:iPhoneX屏幕 0:传统屏幕 #define kIs_iPhoneX_test ({\ int tmp = 0;\ if ([UIScreen instancesRespondToSelector :@selector(currentMode)]) {\ if (CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] mainScreen].bounds.size.width) #define kSCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height) 1.2
有哪位看官对此有更好的阐述希望不吝指导 首先应该了解一下[[UIScreen mainScrenn] scale] iPhone 4 之前的设备为1.0 iPhone 4 ~ iPhone 6s (除 point,也叫逻辑像素)是375*667,物理像素为750*1334,等分4份的话每一个item的宽度是375/4=93.75,这里是没有问题的,问题是屏幕能分的最小物理像素是1,而iPhone6的[[UIScreen 同理iPhone6 Plus的[[UIScreen mainScrenn] scale]是3.0,也就是说1个屏幕像素(逻辑像素)对应有3个物理像素,即0.333333个屏幕像素对应1个物理像素,四等分之后是 解决办法 思路:只要itemSize的width的小数点后的值等于1 / [UIScreen mainScreen].scale的值即可。 rect.size.width - totalSpace) / colCount;// 按照真实屏幕算出的cell宽度 (iPhone6 375*667)93.75 CGFloat fixValue = 1 / [UIScreen
mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; [backgroundView setBackgroundColor ImageView [UIView animateWithDuration:0.4 animations:^{ CGFloat y,width,height; y = ([UIScreen mainScreen].bounds.size.height - image.size.height * [UIScreen mainScreen].bounds.size.width / image.size.width ) * 0.5; //宽度为屏幕宽度 width = [UIScreen mainScreen].bounds.size.width; //高度 根据图片宽高比设置 height = image.size.height * [UIScreen mainScreen].bounds.size.width / image.size.width;
滑动图 -(void) showScrollView{ UIScrollView *_scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds.size.width * 4, [UIScreen mainScreen].bounds.size.height); _scrollView.tag 4; i ++) { UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width * i , 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen // 记录scrollView 的当前位置,因为已经设置了分页效果,所以:位置/屏幕大小 = 第几页 int current = scrollView.contentOffset.x/[UIScreen
可以理解为: scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point) (2)UIScreen.scale UIScreen.h中定义了该属性 mainScreen] scale] (CGFloat) 1 = 3 (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale 同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果没找到设置默认image.scale=1.0。因此,使用该方法,无需特意指定高倍图后缀。 *)[UIScreen mainScreen] bounds]) { {0, 0}, {414, 736}} (lldb) poNSStringFromCGRect([(UIScreen *)[UIScreen mainScreen] nativeBounds]) { {0, 0}, {1242, 2208}} ———————————————————————
important;height:auto}</style></head>%@",[UIScreen mainScreen].bounds.size.width-28,str]; NSMutableAttributedString important;height:auto}</style></head>%@",[UIScreen mainScreen].bounds.size.width,str]; NSMutableAttributedString NSMakeRange(0, [htmlString length])]; // CGSize contextSize = [htmlString boundingRectWithSize:(CGSize){[UIScreen NSStringDrawingUsesFontLeading context:nil].size; CGSize labelSize = [_detailLab sizeThatFits:CGSizeMake([UIScreen
UIViewController { lazy var label1: UILabel = { let label = UILabel(frame: CGRect(x: 0, y: 100, width: UIScreen.main.bounds.width }() lazy var label2: UILabel = { let label = UILabel(frame: CGRect(x: 0, y: 200, width: UIScreen.main.bounds.width }() lazy var label3: UILabel = { let label = UILabel(frame: CGRect(x: 0, y: 300, width: UIScreen.main.bounds.width
mainScreen].bounds.size.width #define ScreenHeight [UIScreen mainScreen].bounds.size.height #define 、8P #define IS_iPhone678_Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? #define IS_iPhone678 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? IS_iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? IS_iPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ?
可以理解为: scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point) (2)UIScreen.scale UIScreen.h中定义了该属性: (3)UIScreen.nativeScale iOS8新增了nativeScale属性: // Native scale factor of the physical screen mainScreen] scale] (CGFloat) 1 = 3 (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale 同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半) *)[UIScreen mainScreen] bounds]) { {0, 0}, {414, 736}} (lldb) poNSStringFromCGRect([(UIScreen
可以理解为: scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point) (2)UIScreen.scale UIScreen.h中定义了该属性: // The (3)UIScreen.nativeScale iOS8新增了nativeScale属性: // Native scale factor of the physical screen @property mainScreen] scale] (CGFloat) $1 = 3 (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale] (CGFloat) $2 同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果找到二倍图,则image.scale=2.0,对应逻辑size大小以point度量(pixel度量的一半) *)[UIScreen mainScreen] bounds]) {{0, 0}, {414, 736}} (lldb) poNSStringFromCGRect([(UIScreen*)[UIScreen
可以理解为: scale=绝对长度比(point/pixel)=单位长度内的数量比(pixel/point) (2)UIScreen.scale UIScreen.h中定义了该属性 mainScreen] scale] (CGFloat)1 = 3 (lldb) p(CGFloat)[[UIScreen mainScreen] nativeScale 同时该API根据UIScreen的scale,自动查找包含对应高倍图后缀名(@2x)的文件,如果没找到设置默认image.scale=1.0。因此,使用该方法,无需特意指定高倍图后缀。 *)[UIScreen mainScreen] bounds]) { {0, 0}, {414, 736}} (lldb) poNSStringFromCGRect([(UIScreen *)[UIScreen mainScreen] nativeBounds]) { {0, 0}, {1242, 2208}} -----------------------
在程序中是不能直接设置系统屏幕亮度的,到了ios5.0以后将这个api开放给了开发者,这样我们就可以非常方更的更改系统屏幕的亮度, 使用方法也很简单 ,如下: 获取系统屏幕当前的亮度值 float value = [UIScreen mainScreen].brightness; 设置系统屏幕的亮度值 [[UIScreen mainScreen] setBrightness:value];