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

swift 3:如何在不丢失高度的情况下隐藏状态栏

在Swift 3中,你可以使用以下方法在不丢失高度的情况下隐藏状态栏:

  1. 在项目的Info.plist文件中添加一个布尔类型的键值对,将其键设置为"View controller-based status bar appearance",并将值设置为"NO"。这将允许你在整个应用程序中统一控制状态栏的外观。
  2. 在你的视图控制器类中,添加以下代码来隐藏状态栏:
代码语言:swift
复制
override var prefersStatusBarHidden: Bool {
    return true
}

这将覆盖视图控制器的默认行为,并返回true来隐藏状态栏。

  1. 如果你希望在视图控制器之间动态地显示或隐藏状态栏,你可以使用以下代码:
代码语言:swift
复制
override var prefersStatusBarHidden: Bool {
    return shouldHideStatusBar
}

override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
    return .slide
}

// 在需要的地方设置shouldHideStatusBar的值
func toggleStatusBar() {
    shouldHideStatusBar = !shouldHideStatusBar
    UIView.animate(withDuration: 0.3) {
        self.setNeedsStatusBarAppearanceUpdate()
    }
}

在这个例子中,你可以通过调用toggleStatusBar()方法来切换状态栏的可见性。你可以根据需要自定义动画效果。

这是一个简单的方法来在Swift 3中隐藏状态栏,而不会丢失高度。请注意,这个方法适用于整个应用程序或单个视图控制器,具体取决于你的需求。

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

相关·内容

Android隐藏和沉浸式虚拟按键NavigationBar实现方法

有的时候我们在做全屏显示或者视频全屏播放时候,有些手机有底部虚拟按键,如下图所示: ? 在开发中我们会遇到需要隐藏虚拟按键或者沉浸式虚拟按键需求。 ? 上图为沉浸式虚拟按键效果。 ?...)来隐藏系统栏。...但是布局大小会被虚拟按键高度所影响。 如果你不想虚拟按键影响高度。...可以用如下: 用其他UI标签(SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION和SYSTEM_UI_FLAG_LAYOUT_STABLE)来防止系统栏隐藏时内容区域大小发生变化是一种很不错方法...你也需要确保Action Bar和其他系统UI控件同时进行隐藏。下面这段代码展示了如何在不改变内容区域大小情况下隐藏与显示状态栏和导航栏。 那么如何显示虚拟按键呢?

2.4K20

Android 沉浸式解析和轮子使用

你可以只使用其中一个,但是一般情况下你需要同时隐藏状态栏和导航栏以达到沉浸效果。...1.1.2 两种使用这个属性方式: 在使用时候,我们通常需要考虑状态栏一值显示在顶部而不会隐藏或者被遮挡(其他 app 情况:读书 app 或者是游戏 app 则需要隐藏顶部状态栏),所以只需要通过代码设置...style> 二、ZanImmersionBar 轮子原理和使用 在实际开发过程中,我们不仅仅只会遇到以上三种版本兼容问题,还需要考虑:不同手机品牌,动态该状态栏背景,以及 Fragment 中需要有自己状态栏颜色场景...ZanImmersionBar 并且页面没有考虑给头部控件预留出状态栏高度,并且需要将页面内容沉浸到状态栏或者做定制化状态栏,这种情况下需要考虑重叠问题。...① 使用 dimen 自定义状态栏高度建议使用,因为设备状态栏高度并不是固定 在 values-v19/dimens.xml 文件下 <dimen name="status_bar_height"

3.2K10
  • android更新ui方式_android ui界面模板

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.status_bar_latest_event.xml修改: 源代码: xmlns:android=”http://schemas.android.com...,… ——————————–分割线—————————————– 2.status_bar_icon.xml修改 这里有关于状态栏高度和图标的修改: 状态栏高度状态栏图标大小修改: 这些在框架里面改,...反编译framework-res.apk找到res/values/dimens.xml 状态栏高度:status_bar_height 状态栏图标大小:status_bar_icon_size …………...找到这一段 加入 2.状态栏下拉时候万恶日期显示隐藏 自己对比下,你就懂了,不好表述 3.状态栏时间居中:搜索clock 删除带有clock这一段, 在id/icons这一段上面添加 版权声明...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    69830

    iOS程序员面试,绝对会遇到这些问题!

    iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬件性能方面有何差异?这对注重性能应用有何限制?...包含什么? 为什么Cocoa Touch类名称是以两个大写字母开头Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?...为什么Optional在Swift语言中非常重要? 请解释一下NSError。在Swift中,什么情况下能使用NSError ,什么情况下不能? 请说明如何使用Instancetype及其重要性。...在Swift中,什么时候该用let,什么时候该用var? 为什么map函数必不可少?该在什么情况下使用它? 你会选择什么工具来追踪Bug? 如果在Cocoa中发现一个Bug,你会如何处理?...iOS UI图像储存类型是什么? 请描述一下Storyboard和标准NIB文件差别。 设备状态栏(Device Status Bar)是什么?高度如何?是否透明?

    1.4K20

    100个iOS开发设计程序员面试题汇总,你将如何作答?

    ·iPad2,iPadmini1-3,iPadRetina,iPadAir2,iPhone5、5S、6以及6+在硬件性能方面有何差异?这对注重性能应用有何限制?...包含什么? ·为什么CocoaTouch类名称是以两个大写字母开头? ·Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?...·为什么Optional在Swift语言中非常重要? ·请解释一下NSError。在Swift中,什么情况下能使用NSError,什么情况下不能?...·在Swift中,什么时候该用let,什么时候该用var? ·为什么map函数必不可少?该在什么情况下使用它? ·你会选择什么工具来追踪Bug? ·如果在Cocoa中发现一个Bug,你会如何处理?...·iOSUI图像储存类型是什么? ·请描述一下Storyboard和标准NIB文件差别。 ·设备状态栏(DeviceStatusBar)是什么?高度如何?是否透明?

    1.4K40

    六个方向关于iOS100个面试题,你都会了吗?

    iPad 2,iPad mini 1-3,iPad Retina,iPad Air 2,iPhone 5、5S、6以及6+在硬件性能方面有何差异?这对注重性能应用有何限制?...包含什么? 为什么Cocoa Touch类名称是以两个大写字母开头Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?...为什么Optional在Swift语言中非常重要? 请解释一下NSError。在Swift中,什么情况下能使用NSError ,什么情况下不能? 请说明如何使用Instancetype及其重要性。...在Swift中,什么时候该用let,什么时候该用var? 为什么map函数必不可少?该在什么情况下使用它? 你会选择什么工具来追踪Bug? 如果在Cocoa中发现一个Bug,你会如何处理?...iOS UI图像储存类型是什么? 请描述一下Storyboard和标准NIB文件差别。 设备状态栏(Device Status Bar)是什么?高度如何?是否透明?

    3.6K50

    手机QQ空间iPhone X适配总结

    另一个就是底部Home Indicator,用以取代原来Home物理按键,高度为34pt。 除此之外,屏幕不再是方形,而是圆角矩形,使用图标也是@3x,和现在plus机型一样。...状态栏到底还要不要隐藏 在完成全屏化后我们得到界面如下图所示。 [image.png] 由上图可知,状态栏展示内容其实非常少,而且不完整。...因此对于一般界面,列表页,tab页等具有大量内容页面应该是推荐将状态栏隐藏,不然反而让信息显得不完整。但是一些追求沉浸体验页面,视频浮层、图片浮层例外。...OK,那么我们该如何适配状态栏高度呢?首先,假如之前代码中控件布局将状态栏高度写死20pt,那么很高兴地告诉你,以前挖过坑,现在跪着也要填完。...,当我们在全屏界面隐藏状态栏之后,statusBarFrame获取到size为0,可能会出现控件布局错乱,因此最稳妥方法还是判断是否iPhone X返回一个常数,如下所示。

    1.8K30

    iPhone X 适配指南 (官方翻译版)

    所有应用程序都应遵循UIKit定义安全区域和布局边距,这些区域可以根据设备和上下文进行适当填充。安全区域还可以防止内容覆盖状态栏,导航栏,工具栏和标签栏。 注意状态栏高度。...状态栏在iPhone X上比在其他iPhone上更高。如果您应用假定固定状态栏高度用于将内容定位在状态栏下方,则必须更新您应用,才能根据用户设备动态定位内容。...请注意,当背景任务(录音和位置跟踪)处于活动状态时,iPhone X上状态栏不会改变高度。 如果您应用程序目前隐藏状态栏,请重新考虑iPhone X上决定。...iPhone上显示高度为4.7 寸iPhone显示屏提供了更多内容垂直空间,状态栏占据您应用程序可能赢得屏幕区域状态栏还显示人们发现有用信息,只能隐藏以交换附加值。...当启用自动隐藏时,如果用户没有触摸屏幕几秒钟,指示灯将熄灭。当用户再次触摸屏幕时,它会重新出现。这种行为应该只能用于被动观看体验,播放视频或照片幻灯片。 请参阅适应性和布局。

    2.5K50

    5种方法完美解决android软键盘挡住输入框方法详解

    全屏时失效 1.Activity主窗口尺寸无法调整; 2.Activity全屏 3.android5.0以上通过style设置沉浸式状态栏模式而设置fitSystemWindow为true 非全屏或是非沉浸式状态栏输入界面...即使当前输入框下方也有输入框,在键盘显示情况下,也可以通过上下滑动界面来输入,而不用先隐藏键盘,点击下方输入框,再显示键盘输入。...3、ScrollView+adjustResize 我们前面说过adjustResize使用必须界面布局高度是可变最外层套个ScrollView或是界面可收缩,才起作用。...沉浸式状态栏/透明状态栏情况下 自android系统4.4(API =19)就开始支持沉浸式状态栏,当使用觉System windows(系统窗口),显示系统一些属性和操作区域, 最上方状态及没有实体按键最下方虚拟导航栏...3、弊端: 此种方法需要在当前界面写比较多代码,在某些手机上,若输入时,软键盘高度是可变中英文切换,高度变化时,会发现适配不大好。如下图: ?

    23.2K31

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

    如果你APP也用到了这个功能,切记要让用户使用简单手势(点按)来恢复导航栏。 导航栏标题 在导航栏中显示当前视图标题。在多数情况下,标题可以帮助人们了解他们在看什么。...在iOS 13及更高版本中,默认情况下,大标题导航栏包含背景材质或阴影。另外,随着页面滑动,大标题要转换为标准标题。 ? 隐藏大标题导航栏边框。...隐藏状态栏内容。默认情况下状态栏背景是透明,是可以看到背后内容。保持状态栏可读,并不意味着其背后内容是可交互。...有几种常见技术可以做到这一点: · 在APP中使用导航栏,该导航栏会自动显示状态栏背景,并确保内容不会显示在状态栏背后 · 在状态栏背后显示自定义图像,渐变色或纯色 · 在状态栏背后放置模糊视图...所有页面的标签栏应保持相同高度,并且在弹出键盘时隐藏。 标签栏可能包含N个标签,但可见标签数量因设备大小和方向而异。

    9.9K10

    100个iOS开发面试题汇总

    3.你对哪一种控制系统比较熟悉? 4.是否参与过GitHub项目? 5.是否参与过GitHub或其他同类型网站iOS开源项目? 6.请描述一下你iOS应用开发流程。...包含什么? 38 为什么Cocoa Touch类名称是以两个大写字母开头? 39 Swift和Objective-C分别是什么?两者相比有何不同之处,又有何联系?...40 为什么Optional在Swift语言中非常重要? 41 请解释一下NSError。在Swift中,什么情况下能使用NSError ,什么情况下不能?...43 在Swift中,什么时候该用let,什么时候该用var? 44 为什么map函数必不可少?该在什么情况下使用它? 45 你会选择什么工具来追踪Bug?...62 设备状态栏(Device Status Bar)是什么?高度如何?是否透明?在手机通话或者导航状态下,它是如何显示? 63 导航栏(Navigation Bar)是什么?

    1.3K30

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

    不要创建自定义状态栏。用户依赖系统默认状态栏一致性。就算你可能会在应用中隐藏它,也不宜定制一个新UI来代替原有系统状态栏。 避免滚动内容直接透过状态栏显示。...千万千万,避免在状态栏后面叠加会分散注意力内容。尤其是,你不能让用户觉得轻击状态栏之后可以获取内容或激活你应用中控件。 隐藏状态栏时请慎重。由于状态栏是透明,通常情况下不需要隐藏它。...始终隐藏状态栏意味着用户必须退出你应用才能知道现在时间,或者了解当前环境下是否有Wi-Fi连接。 在用户全屏观看媒体时,考虑隐藏状态栏以及所有页面UI。...当键盘被唤起、用户使用了手势、或者当前视图变为竖屏情况下,导航栏可以隐藏。...相反,它大小应当恰好能承载当中内容,又能清楚地指向浮出层唤起出处。浮出层高度固定,因此你可以用它来承载一个很长项目列表。但一般来说,还是应当避免需要滚动浮出层才能开启一个任务。

    10.1K51

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

    在这篇文章中,Pol Piella 详细介绍了如何在 Swift 应用程序中有效地利用稳定扩散(Stable Diffusion)模型。...他不仅阐述了如何在 Swift 应用中运用现有的 CoreML 模型,还展示了使用苹果公司 ml-stable-diffusion 库具体步骤。...,它在 iOS 模拟器中扮演着自定义状态栏信息关键角色。...该工具能够调整屏幕顶部状态栏显示各种信息,时间、电池电量和网络信号等。开发者在准备应用商店截图或者进行其他专业演示时,经常依赖这一工具来确保状态栏信息一致性和专业外观。...通过这篇文章,Wals 为那些希望深入了解如何在 iOS 开发环境中运用 Git 开发者提供了一个实用且内容丰富起点。

    13010

    iOS状态栏使用总结

    目录: 一、状态栏与导航栏 二、设置状态栏显隐与字体样式 三、设置状态栏背景色 四、启动页隐藏状态栏 五、状态栏、导航栏相关常用宏定义 相关文章:iOS导航栏使用总结 一、状态栏与导航栏 状态栏...:显示时间、电池等信息 导航栏:显示app页面标题,返回按钮等 iOS7之前:状态栏与导航栏是分开; iOS7之后:状态栏与导航栏合在一起;导航部分总高度(64)= 状态栏高度(20) +导航栏内容高度...((44) iPhoneX设备出现以后,状态栏高度变为44,导航栏部分总高度(88) = 状态栏(44) + 导航栏内容高度(44) 二、设置状态栏显隐与字体样式 iOS状态栏可以设置显示和隐藏,也可以设置文字颜色...,代码位置很重要;在AppDelegate中写入可以设置整个App页面的状态栏样式; 如果需要单独设置其中一个页面隐藏状态栏,需要在进入页面时设置隐藏,退出页面时设置显示,以保证不影响其他页面的状态栏样式...,所以默认情况下状态栏都是跟随导航栏背景色变化而变化。

    1.9K30

    android 设置标题栏背景颜色_状态栏菜单栏都在哪

    一个Activity包含多个Fragment切换时,不同Fragment状态栏背景,状态栏文字颜色和图标要求不一样怎么实现? 3....同时不使用android:fitsSystemWindows属性,怎么让布局遮挡状态栏文字,解决办法见第4章节。 3....计算底部NavigationBar高度3. 最后设置视图边距。...,为了让视图布局遮挡状态栏文字,主要是通过先给界面设置占位布局,然后在代码中动态设置该布局为状态栏高度,这其实就是让状态栏悬浮在这个占空布局上面。...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    2.2K10

    【最新】iPhone X 交互设计官方指南

    所有的应用程序都应遵循 UIKit 中定义安全区域和布局边距,这些区域可以根据设备和上下文进行适当填充。安全区域还能够防止内容把状态栏、导航栏、工具栏和标签栏覆盖掉。 注意状态栏高度。...iPhone X 上状态栏比其他 iPhone 上更高。如果你应用程序状态栏高度比默认状态栏高,那么你必须更新自己应用程序,这样才能动态根据用户设备定位内容。...但是请注意,当背景任务(例如录音和位置跟踪)处于活动状态时,iPhoneX 上状态栏并不会改变高度。 如果你应用程序对隐藏状态栏进行了隐藏,那么请重新考虑在 iPhone X 上设计。...iPhone 上显示高度为 4.7 英寸,并且它屏幕上提供了更多垂直空间内容,状态栏占据了你应用程序本来可以使用屏幕区域,状态栏还显示了对人们有用信息,只有在交换附加值时候才能被隐藏。...避免使用干扰系统功能屏幕边缘手势。人们可以在每个应用程序中使用这些手势。只有在极其少数情况下,例如游戏这样沉浸式应用才有可能需要对屏幕边缘手势进行自定义。

    1.9K20

    兼容 - 纯代码完美适配 iPhoneX

    从图中我们可以看出: status bar 从20 变成了 44 导航条高度依然是 44 顶部总体高度变成 88 安全区域距离页面底部需要保留 34pt,系统自带 Tabbar已经适配好了...没有适配 iPhoneX触底页面 旧工程如何在iphoneX全屏显示 只需要在LaunchImage中添加一个尺寸为1125 × 2436启动图,并且工程使用LaunchImage加载启动图,而不是使用....size.height #define kNavBarHeight 44.0 //注意:请直接获取系统tabbar高度,若没有用系统tabbar,建议判断屏幕高度;之前判断 状态栏高度方法不妥...关于状态栏另外两个需要注意地方: 不要在iPhone X下隐藏状态栏,一个原因是显示内容足够高了,另一个是这样内容会被刘海切割。 ?...现在通话或者其它状态下,状态栏高度不会变化了,程序不需要去做兼容。 横屏 在横屏状态下,不能因为刘海原因将内容向左或者向右便宜,要保证内容中心对称: ?

    4.5K20

    iPhone XUI设计技巧

    建议您可以考虑其他滑动手势和任何能与缺口适配界面。 ? 3.    显示完美的状态栏 与上一代iPhone相比iPhone X状态栏垂直高度增加了一倍,从22pt增加到44pt。...以下是苹果为设计师定义安全区域方式。(如下图示) ? 如果您App应用平台标准组件和自动布局,您用户界面也应适当地缩放以适应iPhone X屏幕。 ? PS:只能隐藏状态栏以换取附加值。...提供全屏体验 与大多数宽高比匹配一样,适用于旧款iPhone屏幕设计要么被裁剪,要么被添加白边。...在iPhone X内容被显示在一个小于4.5英寸设备上情况下,该设计甚至可以把多余屏幕留白(图中两边垂直白边)收起来。为了交付这样好图像,为不同长宽比创建独立屏幕适配也是值得。 ?...参考正确解锁方法 关于解锁,iPhone X并没有一既往地采用Touch ID,而是使用Face ID; 通过投射和分析超过3万多个不可见点,从而创建一张精确面部深度图。

    1.2K40
    领券