`

[IOS]iphoneX简单适配

    博客分类:
  • IOS
阅读更多

业务界面有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的屏幕比变大了,某些地方会出现拉伸图片的现象。

分享到:
评论

相关推荐

    iOS11及iPhoneX适配最新最全指南.pdf

    通过上述介绍和操作示例,开发者可以快速了解并掌握iOS11及iPhoneX适配的要点和方法。在适配过程中,还应该注意使用最新的开发工具Xcode9,并及时更新SDK,以便利用最新API和特性来优化应用的性能和用户体验。

    iPhone X 设计适配指南 & iOS 11 新特性 - 知乎专栏

    iOS开发人员在适配iPhone X时,需要考虑的设计和编码规范较为复杂。设计方面,适配的重点在于屏幕尺寸、分辨率和特定的UI元素。iPhone X屏幕尺寸为5.8英寸,分辨率达到1125px×2436px(竖屏模式下),提供了375pt宽...

    iOS 自动布局及适配iPhone6

    iOS自动布局及适配iPhone6的知识点涵盖了iOS应用开发中界面布局与适配的关键技术,主要包括自动布局(Auto Layout)的使用、屏幕分辨率和像素的处理,以及使用Size Classes来适配不同尺寸的屏幕。 1. 自动布局...

    iPhone X 美团适配记录

    标题中提到的“iPhone X 美团适配记录”涉及到了iPhone X这款手机在美团iOS应用程序中的适配过程。适配是一个专业术语,通常指软件或者网页在不同的设备上能够正常显示和使用,不会因为设备的尺寸、分辨率、操作系统...

    详解iOS11、iPhone X、Xcode9 适配指南

    本篇文章主要探讨了iOS11、iPhone X以及Xcode9的适配问题,帮助开发者解决在升级过程中遇到的各种挑战。 首先,我们来看升级到iOS11后可能遇到的适配问题。在iOS11中,`UIViewController`的`...

    iOS 适配iPhone X的方法

    iOS 适配iPhone X的方法 iOS 适配iPhone X的方法主要是为了解决iPhone X独特的刘海屏幕设计带来的适配问题。iOS 11之后,系统深化了“安全区域”概念,安全区域就是从屏幕上切除最大的矩形之外的区域。为了适配...

    iOS11及iPhoneX适配-探索方案.pdf

    掌握苹果最新适配,一篇就够了!通过真实上线的App细致讲述iOS11及iPhone X适配所需要做的全部工作,包括顶部statusBar、刘海、scrollview下沉及底部tabBar等适配注意事项。

    iPhoneX适配以及 iPhoneX 中MJRefreh 适配

    本话题主要关注的是如何在iPhone X及其后续型号(iPhone XS, XS Max, XR, 11系列, 12系列, 13系列等)上进行适配,特别是针对屏幕顶部的“刘海”区域,以及在这些设备上使用 MJRefresh 框架时的注意事项。...

    swift-iOS分屏控制器完美适配iPhoneX系列

    "swift-iOS分屏控制器完美适配iPhoneX系列"这个项目正是针对这一问题提供解决方案。在本项目中,我们将探讨如何使用Swift来创建一个能够适应iPhone X系列分屏显示的控制器。 首先,我们需要理解iOS中的分屏功能。自...

    ios-超强自定义tabBar (修复iPhone X 适配问题).zip

    ⊙ 修复iPhone X 适配问题 ⊙ 性能优化 ⊙ 支持自定义tabBar动画 ⊙ 支持自定义tabBar样式 ⊙ 支持自定义badgeValue动画 ⊙ 支持自定义badgeValue样式 ⊙ 完美支持横竖屏 ⊙ 支持CocoaPods 更多说明请移步...

    ios-超简单导航栏管理工具 适配iOS 11,iPhone X.zip

    一款超级简单的导航条管理工具。完全自定义导航条。没有UINavigationBar 和 UINavigationItem 这两个类...完美适配iOS 11和iPhone X , 欢迎到github上下载最新库:https://github.com/chenliangloveyou/EasyNavigation

    iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配

    最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结。 前言 在苹果 iPhoneX 、iPhone XR等设备上...

    iOS11&iPhoneX适配&Xcode9打包注意事项

    iOS11&iPhoneX适配&Xcode9打包注意事项 iOS11&iPhoneX适配是最新的iOS系统和iPhoneX设备的适配问题,涉及到UITableView、UIScrollView、网页加载、iPhoneX屏幕适配、Xcode9打包等多个方面。 首先,在UITableView...

    ios-ios 11 适配.zip

    4. **适配iPhone X**:iPhone X的刘海屏(Notch)改变了屏幕的比例,导致状态栏高度的变化。开发者需要适配新的屏幕边界,特别是全屏视图和下拉刷新等组件。 5. **SiriKit**:iOS 11扩展了SiriKit的能力,允许更多...

    小程序以及H5页面上IphoneX底部安全区域小黑条适配问题

    公司项目开发中,发现iPhoneX上吸底元素存在被小黑条遮挡的问题 原因 在苹果 iPhoneX 、iPhone XR等机型上,物理Home键被取消,改为底部小黑条替代home键功能,从而导致吸底元素会被小黑条遮挡覆盖的问题 解决方案 ...

    ios 11和iphone x的相关适配问题及解决方法

    4. iPhone X适配 iPhone X的屏幕尺寸和屏幕形状与其他iPhone设备不同,需要特殊适配。可以封装一个类,例如ScreenTool,来提供一些便捷的方法,例如getViewSafeAreaInsets、getWindowSafeAreaInsets、...

    IOS屏幕适配

    因此,屏幕适配需要考虑到不同的设备参数,可以使用简单的适配方法,设计两套界面,一套以 iPhone6+ 的 1920*1080 设计,一套以 iPhone4 和 4s 的 960*640 设计。但是,这样可能会导致程序包的体积增加,影响用户...

    iPhoneX适配

    在iOS开发中,适配iPhone X是至关重要的一步,因为iPhone X引入了许多新的设计元素,如无边框屏幕、刘海屏(Notch)以及安全区域(Safe Area)。本篇文章将详细探讨如何进行iPhone X以及类似机型的适配,主要包括...

    iPhoneX适配手QH5页面通用解决方案.docx

    《iPhoneX适配手QH5页面通用解决方案》 随着iPhone X的发布,其独特的设计特点,如顶部的状态栏和底部的Home Indicator,为H5页面的适配提出了新的挑战。针对这一问题,本文主要探讨如何针对iPhone X进行手Q H5页面...

Global site tag (gtag.js) - Google Analytics