SwiftUI 跳转到新页面(NavigationLink、fullScreenCover、Link)

编程之家收集整理的这篇文章主要介绍了SwiftUI 跳转到新页面(NavigationLink、fullScreenCover、Link)编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

前言xcode 13.3iOS 15.2跳转添加跳转时间,首先你要在 NavigationView 中包含的代码,只要在vc的body中,把代码放到 NavigationView 就可以了button 跳转(此处是转化成 Text、Image)文字buttonButton("登录/注册") { //文字 print("登录/注册") //点击事件}添加跳转事件,YLMySetting是我的要跳转的页面,destination下只要是一个 View就可以跳转,你也可以写一个Te

前言

xcode 13.3
iOS 15.2

一、 push跳转

添加跳转时间,首先你要在 NavigationVIEw 中包含的代码,只要在vc的body中,把代码放到 NavigationVIEw 就可以了

1、button 跳转(此处是转化成 Text、Image)

文字button

button("登录/注册") { //文字
    print("登录/注册")		//点击事件
}

添加跳转事件,YLMySetting是我的要跳转页面,destination下只要是一个 VIEw就可以跳转,你也可以写一个Text("???")
此处是把纯文字button转化为Text再添加跳转事件

Navigationlink {
    YLMySetting() //此处为跳转时间,只要是一个vIEw可以跳转过去
} label: {
    Text("登录/注册")
}

图片button
此处是把纯图片button转化为Image再添加跳转事件

button {
    print("setting") //点击事件
} label: {
    Image("mine_set") //图片 
}

添加跳转事件

Navigationlink {
    YLMySetting()
} label: {
    Image("mine_set") 
}

2、List 中row 点击跳转

这块苹果的官方文档中、demo中都有详细说明

Navigationlink {
    YLMySetting()
} label: {
    YLmineRow(model: models[index]) //此处为row展示
}

3 push 自定义返回

@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>

button按钮点击事件或者tap中添加 presentationMode.wrappedValue.dismiss() 返回上一页

    var body: some VIEw {
        button(action: {
            presentationMode.wrappedValue.dismiss()
        },label: {
            Text("返回")
        })
    }

二、presented跳转

1、要跳转页面设置

给定一个为false的监控值

    @State var settingPagePresented: Bool = false

给Text添加单击手势,设置监控值跳转

Text("设置") 
    .fullScreenCover(isPresented: $settingPagePresented, content: {
        YLMySetting(settingPagePresented: $settingPagePresented)
    }).onTapGesture {
        settingPagePresented = true
    }

2、跳转到的页面

添加绑定状态

    @Binding var settingPagePresented: Bool

添加返回按钮,点击返回上一页

NavigationVIEw {
    Text("hello world")
    .navigationTitle("设置")
    .navigationbarItems(leading: button(action: {
        settingPagePresented = false
    }, label: {
        Image("icon_back")
    }))
    .navigationbarTitledisplayMode(.inline)
}

三、跳转到 Safari 浏览器

使用 link 可以跳转到 Safari浏览器,不过链接添加http,否则跳转不了

link(destination: URL(string: "https://www.baIDu.com")!) {
    Text("百度搜索")
}

总结

1、跳转方法,必须写在NavigationVIEw 中
2、无论是button还是 Text 或者Image,添加跳转,都要把代码放到label中
3、button点击事件中,没能成功添加跳转事件、此处我都是把button 转化为Text 或者Image,有大佬知道怎么添加,请在评论区留言,非常感谢

总结

以上是编程之家为你收集整理的SwiftUI 跳转到新页面(NavigationLink、fullScreenCover、Link)全部内容,希望文章能够帮你解决SwiftUI 跳转到新页面(NavigationLink、fullScreenCover、Link)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

Swift文章

最正确的方法就是去编译后的包里查看。步骤:1、先运行一下项目。2、找到编译后的目录。有两种方法:直接访问/通过XCode进入(1)直接访问编译后的文件路径:/Users/用户名/Library/Developer/Xcode/DerivedData/工程名-sdsdfsfdsfdsdfsf/Build/Products,文件下面有XXX-iphoneos,XXXX-iphonesimulator样式的文件夹。选择符合我们运行设备和版本的文件夹,点击进入。(2)可以通过Xco.
前言在iOS原生开发的时候,凡是涉及到运行项目之后Xcode提示Build target Runner-Log,是不是每次看到这种报错提示就觉得眼前一黑,头皮发麻?其实也没我说的那么夸张,但是有时候遇到这种问题确实比较费头发。本篇文章就来分享一个常见的问题,但是该问题解决起来不复杂,分享出来,方便后期查阅使用。重现报错提示具体在Xcode中的报错提示如下所示:Showing Recent Messagesdiff: /Users/admin/Documents/WorkSpac
本文将会给出2022年软件行业的编程语言、薪水、就业以及技术的深度分析数据全文较长,建议收藏之后,慢慢看文章目录一、最受欢迎的语言 二、最值得学习的语言 三、薪水/工资分析 四、就业状况 五、协作工具数据 六、网络框架分析 七、数据库排名软件开发行业正在全球范围内快速发展。因此,重要的是要掌握最流行的编程语言,以便在这个竞争激烈的行业中建立前途似锦的职业生涯。您可能不必掌握我们今天讨论的所有语言,但您的简历中掌握的语言越多,在 2022 年和未来几年内,就越有客户和开.
~/Library/Developer/Xcode/iOS Device Logs清空 Products~/Library/Developer/Xcode/ProductsXcode 12 及之后版本 还有3个占用内存的文件分别是:第一名:iOS.simruntime 10.29 GB (iOS 日常开发需要使用,勿删)第二名:watchOS.simruntime 7.05 GB (不做 watch 开发可以删除)第三名:tvOS.simruntime 5.39 G
Swift与OC的混编可以总结出以下几种场景OC&amp;Swift Mixed In The Same TargetProject中OC 调用 SwiftPod中OC 调用 SwiftProject中Swift 调用 OCPod中Swift 调用 OCOC&amp;Swift Mixed In The Different TargetOC Project 调用 Swift PodSwift Project 调用 OC PodOC Pod 调用 Swift PodSwift
最近数据结构实践课经常需要进行二进制文件读写,总结出以下经验:1. 读写二进制文件最好加上ios::binary2. 二进制文件用fstream读写时既可以输入又可以输出,此模式下可以实现只修改文件部分内容例如,我创建了含有100个数的二进制文件data_unsorted.dat,生成结果如下:写入如下代码(ios::in不能少) file.open("data_unsorted.dat", ios::binary | ios::in | ios::out); in.
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注