iPhone X机型判断,iPhone X Model

目前还不知道iPhone X的Devive Model,可以拿分辨率来判断。


#define iPhoneX ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) : NO)

适配iPhone X如火如荼啊。天狐发现很多地方需要代码判断iPhone X机型。

举个例子。

原生的tabbar高度为49pt.当iPhone X时候自动变为了83pt,自动拉伸了34pt。

有很多反人类但是必须得做的需求是,需要把tabbar
高度改为非原生值,比如改成死值55.

- (void)viewWillLayoutSubviews{

CGRect tabFrame = self.tabBar.frame;

tabFrame.size.height = 55;

tabFrame.origin.y = self.view.frame.size.height - 55;

self.tabBar.frame = tabFrame;

}

这时候iPhonex 中就有问题了。

所以要换个方法,不要写死值。要么加变化量。要么单独判断下。



- (void)viewWillLayoutSubviews{

CGRect tabFrame = self.tabBar.frame;

CGFloat height  = tabFrame.size.height;

if(RD_iPhoneX){

height += 0;

}else{

height += 6;

}

tabFrame.size.height = height;

tabFrame.origin.y = self.view.frame.size.height - height;

self.tabBar.frame = tabFrame;

}





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容