SwiftUI优秀文章之 NavgationLink实现不同页面的跳转

本文介绍了如何在SwiftUI中利用NavgationLink实现不同页面的跳转,特别是在ForEach循环中根据点击内容跳转到相应页面。同时,文章还提及了禁用NavgationLink的默认高亮效果,通过自定义StaticButtonStyle来实现。

SwiftUI NavgationLink实现不同页面的跳转

最近有个业务需求,是实现ForEach渲染出来的,postCell,实现点击某个cell实现不同的跳转,而不是跳转到一个固定的模板,传入数据,那是最最基础的一般套路,在oc和swift一般是通过判断indexPath的row和section的值,双重校验,跳转,或者是写一个data.plist的数据,把将要跳转的类名字扔进去,然后通过NStringFromClass 去创建那个类,与java的反射类似。

import SwiftUI
struct MyLink: Identifiable{
   
   
    var id = UUID()
    let linkName: String
    //下面使用AnyView类型的擦除包装器
    let linkView: AnyView
}
struct NLinks{
   
   
    var links: [MyLink]
}

struct VLAPUIView: View {
   
   
    var nLinks = NLinks(links: [
        //下面创建对象是需要显式使用AnyView
        MyLink(linkName: "Stacks 和 Lazy Stacks", linkView: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值