实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(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,那么仅仅在模拟器中使用这些功能是远远不够的,我们还需要进行本地化存储等功能的开发等等工作。

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

相关文章
|
存储 JSON 缓存
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?
84 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(1)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
42 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(3)
|
JSON API 数据格式
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)
68 0
|
存储 XML Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
77 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(2)
|
存储 JSON 测试技术
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(2)
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)
57 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(五)(2)
|
数据库
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
55 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(4)
|
存储 数据库 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
76 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(3)
|
存储 前端开发 数据库
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(6)
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)
66 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(八)(6)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(4)
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)
62 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(七)(4)
|
程序员 人机交互 Swift
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)(3)
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)
71 0
实战教程·元宇宙来了,准备好你的电子名片了吗?(六)(3)