首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS 11状态栏将视图向下推20px

是指在iOS 11系统中,状态栏的布局发生了变化,状态栏的高度增加了20px,导致整个视图向下偏移了20px。

这个变化是由于苹果在iOS 11中引入了全面屏设计,为了适配iPhone X等全面屏设备,状态栏的高度增加了20px。在全面屏设备上,状态栏位于屏幕顶部的“刘海”区域,而非传统的屏幕顶部。

这个变化对开发者来说需要注意,因为视图的布局可能会受到影响。为了适配iOS 11及以上版本的设备,开发者可以通过以下方式解决这个问题:

  1. 使用Safe Area布局:iOS 11引入了Safe Area的概念,开发者可以使用Safe Area布局来适配不同的屏幕尺寸和状态栏高度变化。Safe Area是指屏幕上不受状态栏、导航栏、工具栏等遮挡的区域,开发者可以将视图的布局约束到Safe Area上,以确保在不同设备上都能正确显示。
  2. 调整视图的布局:如果使用了自定义的布局方式,开发者可以根据状态栏高度的变化,调整视图的布局。可以通过监听状态栏高度变化的通知,或者使用Auto Layout等自动布局技术来实现。
  3. 更新适配的启动图:由于状态栏高度的变化,开发者需要更新适配的启动图,以确保在启动时能正确显示。

总结起来,iOS 11状态栏将视图向下推20px是因为全面屏设计引入的变化,开发者可以通过使用Safe Area布局、调整视图布局和更新适配的启动图来适配这个变化。腾讯云相关产品中,可以使用腾讯云移动应用分析(MTA)来分析和优化iOS应用的用户体验,了解更多信息可以访问腾讯云移动应用分析产品介绍页面:https://cloud.tencent.com/product/mta

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS 知识小集(Status Bar变换)

背景 iOS 中经常会有需要在某个界面改变状态栏颜色或者某个界面隐藏状态栏的需求。而改变状态栏颜色和控制状态栏显示和隐藏的API,在iOS 的不同版本中也发生了很多变化。...iOS 7以前 在iOS 7之前,状态栏是不占视图位置的。每个控制器中的根view都是从屏幕的Y轴20px处开始显示的。...API iOS 7 ~iOS 9 从iOS 7开始系统风格大变样,图标扁平了,状态栏也不在闹独立了。因为状态栏的会受到导航栏或者View背景色的影响,所以状态栏的风格也需要实时调整了。...情形二 状态栏的样式、是否显示实际上是由顶层window的当前视图控制器决定的。...创建顶层window之后,修改状态栏的样式就不方便了。 为了解决这个问题,我们可以StatusViewContrller弄成单例,然后定义两个property来控制样式和是否隐藏即可。

1.3K21

iOS 设计规范

640 x 1136px(iphone SE) 状态栏:40px 导航栏:88px 标签栏:98px 750 x 1334px(iphone6s/7/8) 状态栏:40px 导航栏:88px 标签栏...:98px 1242 x 2208px(iphone6s/7/8Plus) 状态栏:60px 导航栏:132px 标签栏:147px 1125 x 2436px(iphone X (@3x)) 状态栏:...、20px(建议最小20px,边距数字选择偶数) 卡片间距: 20px、24px、30px、40px(通常上下间距最小不低于16px,过小的间距会造成用户的紧张情绪) 一、内容布局 最常用的两种布局方式...iOS 11中出现了大标题的设计,字号还是要根据产品属性酌情设定。 36px: 用在少数标题。例:导航标题、分类名称等。 32px: 用在少数标题。例:店铺标题等。...五、文字设计规范 iOS 主流设备的分辨率分别是: 640x1136px:【(@2x)iPhone SE 】 750 x1134px:【(@2x)iPhone6s/7/8 】 1242x2208px:【

1.7K20

IOS学习——iphone X的适配

那么剩下的问题应该就是因为iOS 11新特性的问题。因此,首先我们就需要好好研究一下iOS 11有那些新特性,在项目中会出现什么样的变化呢?   ...64px,其中状态栏的高度是20pxiOS 11状态栏的盖度是44px。...关于iPhone X、iOS 11 、Xcode9,我们应该知道这些 iOS 11 安全区域适配总结(转) iOS11及iPhoneX适配-思源探索方案   了解完iOS 11的新特性之后,接着就分析上面出现的问题的原因与适配方法...然后切好的iPhone X的启动页的图(这个图要先放进Images.xcassets中)拖进图片左上角箭头所指的框中就可以了。...竟然过期了,在IOS 11下 APPLE推荐使用UIScrollView的contentInsetAdjustmentBehavior属性进行设置自动计算滚动视图的内容边距。

1.4K60

兼容 - 纯代码完美适配 iPhoneX

前言 本文主要针对适配 iPhoneX列出一些关键点,仔细阅读可完美适配 iPhoneX,其中还有一些是适配 iOS11的, 话不多少,开始正餐。 iPhoneX概况一览 ?...#define kTopHeight (kStatusBarHeight + kNavBarHeight) 适配中遇到的其他问题 Pushde的时候列表/页面发生向下偏移 这是一个 iOS11适配的问题...现在通话或者其它状态下,状态栏高度不会变化了,程序不需要去做兼容。 横屏 在横屏状态下,不能因为刘海的原因内容向左或者向右便宜,要保证内容的中心对称: ?...定位 在IOS11,未在plist文件中配置NSLocationAlwaysAndWhenInUseUsageDeion,系统框不会弹出。 NSLocationAlwaysAndWhenInUseUsageDeion App需要您的同意,才能始终访问位置</string

4.4K20

iOS多设备适配简史以及相应的API支撑实现

一直在做iOS开发的程序员相信在下面的两个版本交界处需要处理适配的坎一定让你焦头烂额过: iOS7出来后视图控制器的根视图默认的尺寸是占据整个屏幕的,如果有半透明导航条的话也默认是延伸到导航栏和状态栏的下面...iOS11出来后尤其是iPhoneX设备推出,iPhoneX设备的特殊性表现为顶部的状态栏高度由20变为了44,底部还出现了一个34的安全区,当横屏时还需要考虑左右两边的44的缩进处理。...(7.0,11.0), tvos(7.0,11.0)); iOS11中提出了一个安全区的概念,要求我们的可操作视图都放置在安全区内,并对视图和滚动视图提供了如下扩展属性: @property (nonatomic...因为iOS7和iOS11两个版本中控制器中的视图和上面所列出的一些内容之间的关系变化最大。...,也可以将它添加进入视图中去,也可以这个占位视图作为其他视图的约束依赖项,唯一的不同就是占位视图不会进行任何的渲染和绘制,它只会参与布局处理。

1K30

肘子的 Swift 周报 #014 | 发展要建立在稳定的基础上

在本文中,Keith Harrison 深入探讨了这一问题,正在使用 SwiftData 的开发者发出了警示。...AnyView 作为一种类型擦除视图,使得开发者无需明确指定视图层次结构中各个视图的具体类型,从而简化了代码的复杂度,避免了泛型的频繁使用。然而,这种方便性可能以牺牲性能为代价。...Workaround: Xcode simctl status_bar is still broken for iOS 17 simulators[10] jesse squires[11] simctl...status_bar 作为一个重要的命令行工具,它在 iOS 模拟器中扮演着自定义状态栏信息的关键角色。...该工具能够调整屏幕顶部状态栏显示的各种信息,如时间、电池电量和网络信号等。开发者在准备应用商店的截图或者进行其他专业演示时,经常依赖这一工具来确保状态栏信息的一致性和专业外观。

11810

关于刘海打理这种事儿,美团点评的iOS工程师早就有经验了,不信你看!

iPhone X 为用户在垂直空间上提供了更多展示余地,且状态栏中也包含了用户需要知道的信息,除非能通过隐藏状态栏带给用户额外的价值,否则苹果建议大家状态栏还给用户。"...图3.2 iOS 11 UISearchViewController适配 之所以可以这么改,是因为 iOS 11 的 NavigationBar 和 SearchViewController 集成在一块儿了...② 搜索页面输入框的位置发生了偏移,这是因为 iOS 11 的导航栏的视图层级结构发生了变化,和 iPhone X 的并无直接关系。iOS 11 导航栏的视图层级关系如下: ?...图4.1 iOS 11 之后的 NavigationBar ?...图4.3 iOS11 下“我的Tab” 页面 Tableview 发生偏移 出现这个的原因是:iOS 11 之后 scrollview 多出来一个 adjustedContentInset 区域。

2.1K70

iOS开发·适配iPhone X相关的宏和方法

过了好久,今天终于有时间总结一下适配iPhone X相关的坑,总的来说有两类坑,一个是导航栏+状态栏的高度发生了变化,一个是一些没有实现实现-tableView: viewForHeaderInSection...灵活返回状态栏+导航栏的高度 需求:灵活得到导航栏+状态栏的高度,作为一个子视图Y轴的起点。...拓展:获得iOS系统与App版本信息 获取iOS系统版本号:返回字符串 + (NSString *)getSystemVersion{ return [[UIDevice currentDevice...iOS新增了个safeArea,原来的老代码中,规定子视图跟根子视图的关系的代码需要新增一个判断:当iOS 11时,需要改为子视图跟根子视图的安全区的关系。...(self.view) } 当然,一般除了tabbar不能放在这个底部虚拟home区,其它的视图tableView视图或者网页视图时可以放在底部虚拟home区中的。

1.3K40

最新iOS设计规范三|3大界面要素:栏(Bars)

本文是iOS设计规范系列第3篇,介绍3大界面要素(栏、视图、控件)中的栏(Bars)。首先让我们了解一下iOS的3大界面要素。...导航栏标题 在导航栏中显示当前视图的标题。在多数情况下,标题可以帮助人们了解他们在看什么。但是如果添加导航栏显得多余,则可以标题留为空白。...您可以通过使用边栏样式列表并将其放置在拆分视图的主列中来创建边栏。视图相关内容后面会讲。 正确的外观应用于边栏。要创建侧栏,请使用集合视图列表布局的侧栏外观。 使用边栏在应用程序级别组织信息。...当用户尝试关注媒体时,状态栏可能会分散注意力。暂时隐藏这些元素以提供更沉浸的体验。例如,当用户浏览全屏照片时,“照片”应用程序隐藏状态栏和其他界面元素。 ? 避免永久隐藏状态栏。...例如,如果iOS设备上没有歌曲,则“音乐”应用中的“立即收听”选项卡说明如何下载歌曲。 始终在附加视图中切换上下文。

9.8K10

iOS状态栏使用总结

目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关的常用宏定义 相关文章:iOS导航栏的使用总结 一、状态栏与导航栏 状态栏...:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前:状态栏与导航栏是分开的; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度...((44) iPhoneX设备出现以后,状态栏的高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字的颜色...//return NO; //设置状态栏显示 } 但是,这里存在一个问题:如果当前视图控制器是UINavigationController的子视图控制器,preferredStatusBarStyle...设置方法依然是修改info.plist,只需要设置Status bar is initially hidden即可,将其设置为YES之后,启动页暂时不显示状态栏,操作如下: ?

1.9K30

移动端web开发笔记

IOS) 设置状态栏的背景颜色,只有在 "apple-mobile-web-app-capable" content="yes" 时生效 <meta name="apple-mobile-web-app-status-bar-style...black :<em>状态栏</em>背景是黑色。 black-translucent :<em>状态栏</em>背景是半透明。 如果设置为 default 或 black ,网页内容从<em>状态栏</em>底部开始。...所以启动图片需要减去<em>状态栏</em>区域所对应的方向上的<em>20px</em>大小,相应地在retina设备上要减去40px的大小 <!...以下是历史原因: 2007年苹果发布首款iphone上<em>IOS</em>系统搭载的safari为了<em>将</em>适用于PC端上大屏幕的网页能比较好的展示在手机端上,使用了双击缩放(double tap to zoom)的方案,....css{font-size:<em>20px</em>} 6、<em>ios</em>系统中元素被触摸时产生的半透明灰色遮罩怎么去掉 <em>ios</em>用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color

3.6K20

iOS 9人机界面指南(四):UI元素(上) - 腾讯ISUX

View) 4.2.10 分栏视图控制器 4.2.11 表格视图 4.2.12 文本视图 4.2.13 网络视图 4.1 栏 4.1.1 状态栏 状态栏展示了关于设备及其周围环境的重要信息。...状态栏: 是透明的 始终固定在整个屏幕的上边缘 API注释 你可以全应用的状态栏风格设计成统一的,或者给不同的视图控制器定义不同的状态栏风格。...在屏幕处于同一方时,最好不要改变不同屏上导航栏的背景图片、颜色和透明度。 确保你自定义的返回按钮的外观与操作仍然像一个返回按钮。...当用户在视图中拖拽内容,内容随之滚动;当用户轻扫屏幕时,内容快速滚动——直到用户再次触摸屏幕或内容已经到达底部时停止。...当你在滚动视图中使用页面控件的时候,最好禁用同一方的滚动指示器(scroll indicator)。这样一来可以让用户聚焦到页码控件上,并让他们有了一种唯一且清晰的方式来浏览当前内容。

10.1K51

H5 页面 iPhoneX 刘海屏适配

safe-area.png 很明显,在讨论适配之前,我们的页面一般有两种分类: 1、H5 页面使用原生 App 的 Navigation Bar 导航栏,此时,status bar 状态栏和导航栏都是原生控件...2、H5 页面在 iOS 中占据全屏页面,在这种情况下,除了要兼顾底部小黑条,我们还要处理页面上部跟 状态栏接触的部分,避免内容出现在状态栏上。...我们首先得在页面的 meta 中添加一个新的值:viewport-fit=cover 这么设置之后,视图端口被缩放以填充设备显示...源于官方文档的一段注释: The env() function shipped in iOS 11 with the name constant()....WX20200531-205658@2x.png 可以看到页面的顶部,因为 safe-area-inset-top 避开了状态栏,而底部因为 safe-area-inset-bottom 避开了小黑条,

4.3K40

UIViewController生命周期

合创建一些附加的view和控件 3、ViewWillAppear 在视图加载完成,并即将显示在屏幕上时,会调用viewWillAppear方法,在这个方法里,可以改变当前屏幕方向或状态栏的风格等。...初次启动: iOS_didFinishLaunchingWithOptions iOS_applicationDidBecomeActive 按下home键: iOS_applicationWillResignActive...iOS_applicationDidEnterBackground 点击程序图标进入: iOS_applicationWillEnterForeground iOS_applicationDidBecomeActive...作为UIView的最顶层容器,包含应用显示所有的UIView; 2.传递触摸消息和键盘事件给UIView; 把view添加到uiwindow 3、把view添加到uiwindow上面 (1)直接控制器的...view添加到UIWindow中,并不理会它对应的控制器 [self.window addsubview:vc.view]; (2)设置uiwindow的根控制器,自动rootviewcontroller

1.8K10

iOS开发UINavigation系列四——导航控制器UINavigationController

iOS开发UINavigation系列四——导航控制器UINavigationController 一、引言         在前面的博客中,我么你介绍了UINavigationBar,UINavigationItem...和UIToolBar,UINavigationController是这些控件和UIViewController紧密的结合了起来,使用导航,我们的应用程序层次会更加分明,对controller的管理也更加方便...animated:(BOOL)animated; //导航栏对象,只读属性 @property(nonatomic,readonly) UINavigationBar *navigationBar; //隐藏状态栏...:(BOOL)hidden animated:(BOOL)animated; //状态栏对象 @property(null_resettable,nonatomic,readonly) UIToolbar..., readonly) UIGestureRecognizer *interactivePopGestureRecognizer; 四、iOS8后导航的新特性 //这个方法是为了iOS方法的命名统一,在导航中

1.8K20
领券