iOS 适配iPhone X tabBar上移或者下移的bug ; 适配iPhone XS iPhone XS Max新机

修改上移的时候直接

// 修改tabBra的frame

CGRect frame = self.tabBarController.tabBar.frame;

frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;

frame.size =CGSizeMake(frame.size.width, frame.size.height);

self.tabBarController.tabBar.frame = frame;

在viewWillAppear 里面写就不会上移了。

我的还出现下移的情况:

下移错乱后的图片

// Tabbar安全区域底部间隙

#define TabbarSafeBottomMargin  (is_iPhoneX ? 34.f : 0.f)


也是在viewWillappear里面

// 修改tabBra的frame

CGRect frame = self.tabBarController.tabBar.frame;

frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height -TabbarSafeBottomMargin;

frame.size =CGSizeMake(frame.size.width, frame.size.height+TabbarSafeBottomMargin);

self.tabBarController.tabBar.frame = frame;

其实就是位置大小被改变了 ,加34在iPhone X上就好了。


去年我是根据尺寸判断是否iPhone X的,

#define is_iPhoneX       k_ScreenHeight == 812

今年只要改一下这个判断就好了

#define is_iPhoneX   [UIApplication sharedApplication].statusBarFrame.size.height == 44 ? YES : NO

新机的状态栏都是44  直接就这样写了。

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

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,303评论 1 14
  • 前言 最近忙完项目比较闲,想写一篇博客来分享一些自学iOS的心得体会,希望对迷茫的你有所帮助。博主非科班出身,一些...
    GitHubPorter阅读 5,312评论 9 5
  • 项目中有一个需求,在滑动列表中上拉隐藏导航栏与tabBar,下拉显示导航栏与tabBar的功能 ,开发中也踩了一些...
    艳仔加油阅读 8,614评论 1 8
  • (三) 有一天小和不在,阿蒙过来还新借的书,忽然幽幽地坐到了床沿:“如果我决定去你们所在的城市打工去,你说会顺利吗...
    陈士武阅读 1,352评论 0 0
  • 如果,你问我,在这个秋天的季节里,你想去哪? 我的回答,在心中一直存在的,从好久之前就在的,是巴黎。 ...
    钓以清心阅读 2,593评论 0 0