极简实现任意版本 SwiftUI 中隐藏和显示系统底部横条(Home Indicator)

news2024/9/29 11:34:58

在这里插入图片描述

功能需求

有时我们希望在 SwiftUI 界面中隐藏系统底部横条(Home Indicator),虽然从 iOS 16(SwiftUI 4.0)开始, 对此提供了专门的原生方法,不过如何在之前版本的 SwiftUI 中完成此功能呢?

在这里插入图片描述

如上图所示,我们在任意版本 SwiftUI 中实现了系统底部横条的显示和隐藏功能,并考虑到当前有弹出窗口的情况。

在本篇博文中,您将学到以下内容:

  • 在 SwiftUI 4.0+ 中如何隐藏系统底部横条;
  • 在 SwiftUI 1.0 - 3.0 中如何完成上面同样的事;
  • SwiftUI 中如何替换当前活动 Window 中的 rootViewController,同时避免视图布局异常(伴随 Unbalanced calls to begin/end appearance transitions 警告);
  • SwiftUI 在当前有弹出窗口(Alert)时替换活动 Window 中 rootViewController 的注意事项;
  • iOS 17 中隐藏系统底部横条的与众不同之处;

闲言少叙,Let‘s go!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/803565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

栈和队列第二弹,完结篇

💛1.队列的基本底层实现 public class MyQueue {int array[];int usedsize0;public MyQueue(){this.arraynew int [5];} 💙2.判断是否满,满了需要扩容 Arrays.copyOf(数组,数组的长度);我常常会忘记哈…

数据库的介绍和分类

目录 一、数据库的介绍和分类 二、命令行客户端 三、数据操作 四、查询的基本操作 五、条件查询 六、分组和聚合 资料获取方法 一、数据库的介绍和分类 数据库:长期存储在计算机内、有组织的数据集合 数据库的分类: 关系型数据库 以表格的形式…

Redis - 三大缓存问题(穿透、击穿、雪崩)

缓存穿透 概念: 查询一个数据库中也不存在的数据,数据库查询不到数据也就不会写入缓存,就会导致一直查询数据库 解决方法: 1. 缓存空数据 如果数据库也查询不到,就把空结果进行缓存 缺点是 - 消耗内存 2. 使用布…

【牛客面试必刷TOP101】Day1.反转链表和合并两个排序的链表

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:牛客面试必刷TOP101 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&…

思科视频会议改造为云视频会议

复杂、封闭、昂贵是传统硬件视频会议的明显特点,面对现在多样化的参会需求,传统硬件视频会议固定在会议室的方式需要改变,并需要多层级来参与的时候,我们如何部署视频会议室升级改造方案。 用户需求: 新生活集团(中国…

爬虫分析必备技能:Chrome浏览器使用$x()快速提取列表内容

尝试快速打印一个页面的列表信息,我尝试用console.log$x()快速打印结果。 先找到一个合适的测试对象,比如csdn首页的热点: 按F12进入开发者工具找到这个列表的xpath: 根据我写的xpath找到了5个: 尝试把其中一个的标题…

【ABAP】事务码F-02/FB01/FB02 会计凭证过账BTE增强

需求:事务码F-02/FB01/FB02进行过账时,对行项目数据进行校验 流程: 事务码FIBF——环境(信息系统(处理)) 执行 找到1120事件选中,点击模式函数模块 点①复制函数,②出函…

百题千解计划【CSDN每日一练】计数问题(附解析+多种实现方法:Python、Java、C、C++、JavaScript、C#、go)

人要多久才能成熟!一瞬间?还是一辈子? 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌟[2] 2022年度博客之星人工智能领域TOP4🌟 🏅[3] 阿里云社区特邀专家博主🏅 🏆[4] CSDN-人工智能领域优质创作者🏆 �

用WhatsApp开拓和跟进客户,需要注意这些雷点

我们很多新手小白在利用WhatsApp开拓和维护客户的时候,总是容易犯一些错误,踩到雷点,这不利于客户对企业的印象,不利于增长,下面我们来说一些需要注意的点: 1、专业正确的用语 不管外贸人是跟进哪个国家…

tinkerCAD案例:16. 用字母创建你的名字

tinkerCAD案例:16. Create Your Name From Letters 用字母创建你的名字 letters together so they can be 3D printed. While this could be done with any word, in this example we will use my last name. In the make it your own lesson I provide additional…

全球掀复现「室温常压超导体」热潮,中国队已肝十几小时,韩国团队却内讧了

鱼羊 尚恩 发自 凹非寺 量子位 | 公众号 QbitAI 室温常压超导,这回是真的闹大了。 不止是在国内连上热搜,火速出圈引爆大众讨论。 铅磷灰石价格也在24小时之内迅速被炒了起来。 而物理界的科学家们,更是第一时间拉开了一场全球复现行动。 …

网络安全(黑客)自学误区

前言 网络安全是当今社会中至关重要的议题。随着科技的迅猛发展,网络已经渗透到我们生活的方方面面,给我们带来了巨大的便利和机遇。然而,网络也存在着各种风险和威胁,如黑客攻击、数据泄露等。因此,学习网络安全知识…

IDEA插件YapiUpload配置YApi

前后端分离开发项目,后端提供接口文档,这次使用的是YApi,不想一个个接口添加,所以用插件批量导入。 YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发…

Debezium日常分享系列之:定制Debezium 信号发送和通知

Debezium日常分享系列之:定制Debezium 信号发送和通知 一、自定义信号和通知通道二、结论 Debezium 2.3 在信号和通知功能方面引入了新的改进。除了 Debezium 提供的预定义信号和通知通道之外,您还可以设置新的信号和通知通道。此功能使用户能够自定义系…

数学建模学习(5):数学建模各类题型及解题方案

一、数学建模常见的题型 总体来说,数学建模赛题类型主要分为:评价类、预测类和优化类三种,其中优化类是最常见的赛题类 型,几乎每年的地区赛或国赛美赛等均有出题,必须要掌握并且熟悉。 二、评价类赛题 综合评价是数学…

【线程安全的讨论(一)】CPU多核缓存架构和JMM

CPU多核缓存架构 一、CPU多核缓存架构可见性问题乱序执行(指令重排) 二、JMM——Java内存模型 一、CPU多核缓存架构 计算机的基本组成图 CPU 缓存为了提高程序运行的性能,现代 CPU 在很多方面会对程序进行优化。CPU 的处理速度很快&#xf…

@monaco-editor/react组件CDN加载失败解决办法

monaco-editor/react引入这个cdn资源会load失败 网上很多例子都是这样写的,我这样写monaco会报错 import * as monaco from monaco-editor; import { loader } from monaco-editor/react;loader.config({ monaco });改成这样 import * as monaco from monaco-edi…

2023年第三届控制理论与应用国际会议 | IET独立出版 | EI检索

会议简介 Brief Introduction 2023年第三届控制理论与应用国际会议(ICoCTA 2023) 会议时间:2023年10月20 -22日 召开地点:中国厦门 大会官网:www.icocta.org 控制理论作为一门科学技术,已经广泛地运用于我们社会生活方方面面。随着…

Java【Spring】 核心概念: 什么是 IoC, 什么是 DI?

文章目录 前言一、什么是Spring1, 什么是容器2, 什么是IoC 二、如何理解IoC1, 传统方式的代码编写2, 控制反转的代码编写3, 再谈IoC 三、什么是DI总结 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象,…

西安电子科技大学

前言 本篇文章投稿与以下活动 【西安城市开发者社区】探索西安高校:展现历史与创新的魅力 资料参考与百度百科 学校简介 西安电子科技大学(Xidian University),简称“西电”,位于陕西省西安市,是中央部…