当前位置:网站首页>Apple 已弃用 NavigationView,使用 NavigationStack 和 NavigationSplitView 实现 SwiftUI 导航
Apple 已弃用 NavigationView,使用 NavigationStack 和 NavigationSplitView 实现 SwiftUI 导航
2022-07-05 15:47:00 【知识大胖】
Apple 已弃用 NavigationView,它以前被用作封装视图堆栈,这些视图本质上是在呈现时推送并在关闭时弹出的视图。这是 iOS 导航从一开始就使用的熟悉方式,没有物理后退按钮,但顶部有一个导航栏,有一个后退按钮,描述了“后退”的位置。
有两种实现导航的新方法,但它们最终在 iPhone 上看起来非常相似,原因我将在后面讨论。
让我们开始吧!
NavigationStack
这个应用程序非常简单地从几个Hashable和Identifiable结构开始。
Screen存储导航状态的枚举必须是Hashable,因为新的初始化程序需要NavigationLink它,我稍后将使用它。为了成为Hashable相关的值也需要是Hashable。如果它们只是 String和 an ,这仍然是正确的Int,但我想利用ForEachwhich 要求类型也是Identifiable。作为原始值类型String并且Int是可互换的,并且它们没有定义它们的唯一属性。
我已将数据添加ContentView为两个数组。
我可以(并且可能应该)使用 anObservableObject来存储数据,但我宁愿编写更多代码来专门演示导航。
import Foundation
struct Word: Hashable, Identifiable {
let id = UUID()
let name: String
}
struct Number: Hashable, Identifiable {
let id = UUID()
let value: Int
}
enum Screen: Hashable {
case word(Word)
case number(Number)
边栏推荐
- 程序员如何提升自己的格局?
- OceanBase社区版之OBD方式部署方式本地安装
- 18.[stm32] read the ROM of DS18B20 temperature sensor and realize multi-point temperature measurement
- Coding devsecops helps financial enterprises run out of digital acceleration
- Cartoon: what is service fusing?
- Arduino控制微小的六足3D打印机器人
- 详解SQL中Groupings Sets 语句的功能和底层实现逻辑
- How can programmers improve their situation?
- 一文带你吃透js处理树状结构数据的增删改查
- 降本40%!Redis多租户集群的容器化实践
猜你喜欢
五种常见的咨询公司谈判策略以及如何维护自己的利益
Reduce the cost by 40%! Container practice of redis multi tenant cluster
抽象类和接口的区别
Single merchant v4.4 has the same original intention and strength!
ES6 deep - ES6 class class
降本40%!Redis多租户集群的容器化实践
21.[STM32]I2C协议弄不懂,深挖时序图带你编写底层驱动
Which keywords will conflict with the abstract keyword
Parameter type setting error during batch update in project SQL
vulnhub-FirstBlood
随机推荐
企业级备份软件Veritas NetBackup(NBU) 8.1.1服务端的安装部署
StarkWare:欲构建ZK“宇宙”
17. [stm32] use only three wires to drive LCD1602 LCD
服务器的数据库连不上了2003,10060“Unknown error“【服务已起、防火墙已关、端口已开、netlent 端口不通】
DataArts Studio数据架构——数据标准介绍
Cheer yourself up
Transaction rollback exception
The difference between abstract classes and interfaces
obj集合转为实体集合
国泰君安网上开户安全吗
obj解析为集合
对象和类的关系
CISP-PTE之SQL注入(二次注入的应用)
Background system sending verification code function
Find the root of the following equation by chord cutting method, f (x) =x^3-5x^2+16x-80=0
OceanBase社区版之OBD方式部署方式本地安装
Li Kou today's question -729 My schedule I
Coding devsecops helps financial enterprises run out of digital acceleration
Is it safe for Guotai Junan to open an account online
《MongoDB入门教程》第04篇 MongoDB客户端