实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(5)

简介: 实战教程·元宇宙来了,准备好你的电子名片了吗?(七)

交互动作:打开HonePageView页面

完成打卡编辑弹窗,并实现编辑更新操作后,我们来补充完善下打开HonePageView页面的交互。在之前的章节我们使用NavigationLink导航菜单跳转方式实现了页面跳转,由于会和我们点击编辑操作相冲突,因此我们注释了这部分代码。

这里我们再介绍一种弹窗,fullScreenCover全屏覆盖弹窗,用fullScreenCover也可以实现页面跳转的效果。

首先先声明打开弹窗的变量,我们在CardView视图中声明变量,如下代码所示:


@State var showHomePageView: Bool = false

然后实现调用fullScreenCover全屏覆盖弹窗的方法,如下代码所示:


//打开身份卡主页
.fullScreenCover(isPresented: $showHomePageView, content: {
    HomePageView(platformName: platformName, indexURL: indexURL)
        .edgesIgnoringSafeArea(.all)
})

image.png

上述代码中,我们给CardView的主要内容增加了fullScreenCover修饰符,用于打开全屏覆盖弹窗。

弹窗打开触发动作绑定声明好的参数showHomePageView,目标地址选择HomePageView,并且绑定相关的参数,我们希望这个弹窗全屏展示,增加了edgesIgnoringSafeArea忽略安全区域修饰符。

打开弹窗的操作,我们希望点击身份卡片时打开,但又不能和编辑按钮相冲突。

我们可以将平台图标、平台称号、平台名称部分的样式再使用一个容器包裹起来,点击这个容器打开HomePageView页面,这样就可以做到不和编辑按钮相冲突了。如下图所示:


最后我们增加点击事件在这个容器中,当点击时打开fullScreenCover弹窗,如下代码所示:


.gesture(
  TapGesture()
    .onEnded({
      self.showHomePageView.toggle()
    })
)

image.png

由于fullScreenCover弹窗是由下往上打开,因此我们可以换一个返回按钮的样式,让操作看起来流畅些,如下图所示:

image.png

项目预览

完成后,我们在模拟器中预览下效果,如下图所示:

项目小结

在本章中,我们实现了EditView页面的界面设计、页面跳转、编辑更新方法,单一个编辑操作就很不容易,哭泣。

但最重要的是学习了结构化编程方法,将页面的元素分块,然后抽离创建单独的构件,如此不管在新增页面还是在编辑页面,我们都只需要维护一套代码,这大大减轻了代码量,也使得编程更加优雅。

那么对于一个本地项目来说,linkworld已经完成了查看、新增、编辑、删除操作,似乎可以告一段落了。但是,如果一款产品要成功上线AppStore,那么仅仅在模拟器中使用这些功能是远远不够的,我们还需要进行本地化存储等功能的开发等等工作。

那么在下一章中,我们将介绍如果实现本地存储及远端数据存储相关的内容,请保持期待吧~

相关文章
|
Android开发
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
【Android App】蓝牙的设备配对、音频传输、点对点通信的讲解及实战(附源码和演示 超详细)
2776 1
|
7月前
|
人工智能 算法 Serverless
短视频创作助手 | AI剧本生成与动画创作
短视频行业的快速发展得益于移动互联网和智能手机的普及,4G、5G网络的推广使用户对视频内容的需求大增。短视频以其短小精悍、易于传播的特点迅速吸引了大量用户。平台如抖音、快手通过算法推荐和社交功能推动了用户增长和内容生态繁荣。AI剧本生成与动画创作方案则进一步降低了创作门槛,简化从剧本到视频成片的过程。该方案利用阿里云的大模型服务平台百炼、函数计算FC和对象存储OSS等产品,实现了自动化流程,涵盖故事剧本撰写、插图设计、声音合成至视频合成,极大缩短了创作周期,提高了内容产出速度。部署简单快捷,耗时约5分钟,使得非技术人员也能轻松上手,满足企业和个人创作者的需求。
|
传感器 数据采集 人工智能
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
合肥中科深谷嵌入式项目实战——人工智能与机械臂(四)
|
存储 Swift
大师学SwiftUI第18章Part3 - 自定义视频播放器
录制和播放视频对用户来说和拍照、显示图片一样重要。和图片一样,Apple框架中内置了播放视频和创建自定义播放器的工具。
511 0
|
Android开发
Android获取蓝牙设备列表的方法
Android获取蓝牙设备列表的方法
779 5
|
XML 数据可视化 Java
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
532 1
|
缓存 算法 Linux
Linux 内存泄漏检测的基本原理
Linux 内存泄漏检测的基本原理
320 0
|
前端开发
【若依】 若依内置富文本框quill,editor居中无效
【若依】 若依内置富文本框quill,editor居中无效
2089 0
|
Android开发
如何 将Android Studio升级至最新版(4.0)
如何 将Android Studio升级至最新版(4.0)
1475 0
|
搜索推荐 数据安全/隐私保护
颜值即正义,使用SwiftUI搭建个人信息、账号绑定、通用设置详情页
颜值即正义,使用SwiftUI搭建个人信息、账号绑定、通用设置详情页
337 0