[IOS]iphoneX简单适配

网友投稿 690 2022-09-02

[IOS]iphoneX简单适配

[IOS]iphoneX简单适配

业务界面有tab bar,由于iPhone X的屏幕高是812,所有会导致tab bar与layout之间有空隙。只需要把tab bar向上移动并且把background设置成黑色,即可以在下面留一条黑边。

判断iPhone X:

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

如果是iPhone X的话就,改变y点,把自己code的tab bar button向上画:

if (KIsiPhoneX) { bottom_tab_bar_view = [[UIView alloc] initWithFrame:CGRectMake(0, screenHeight - 83, screenWidth, 55)]; }else{ bottom_tab_bar_view = [[UIView alloc] initWithFrame:CGRectMake(0, screenHeight - 55, screenWidth, 55)]; }

由于本来我的自定义的tab bar 是覆盖系统原生的tab bar view的,向上画以后会显示出了原生tab bar view的图层,一般可以有两种方式处理:

1.把tab bar view的背景色改成黑色,使下面留一条黑边:

self.tabBar.barTintColor = [UIColor blackColor];// [[UITabBar appearance] setBarTintColor:[UIColor blackColor]];//第二种写法,选其一 [UITabBar appearance].translucent = NO;

2.隐藏了系统的tab bar view,显示controller的背景色(可设置成黑色):

[self.tabBar setHidden:YES];

但是这里有一个问题,ios的机制,所有的view拉满屏幕大小,其实在显示上是忽略navigation bar 和tab bar的,也就是说navigation bar 和tab bar 不会遮挡storyboard里面拉满页面大小的view。但是我在这里隐藏了tab bar,导致整个页面会向下移动,原本可以显示的部分却被我自定义的tab bar挡住了。这样的话,只能在每个被遮挡了的controller里面添加一个距离底部tab bar高度约束,使页面重新向上。

两种方法的显示效果基本一样,但是,由于第二种方法使整个页面向上,使基本可以保持原有UI,尤其是图片的缩放比的。第一种方法比较简单,但是由于iPhone X的屏幕比变大了,某些地方会出现拉伸图片的现象。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:[IOS]当图片太大时,重新调整图片大小
下一篇:项目上线后,谈一下感触比较深的一点:查询优化
相关文章

 发表评论

暂时没有评论,来抢沙发吧~