实战编程·刻在男人DNA里的浪漫,空气投篮(二)(4)

简介: 实战编程·刻在男人DNA里的浪漫,空气投篮(二)

如此,当我们点击“投篮”的游戏项时,就会跳转到GameDetailView游戏详情页。

我们来到GameDetailView游戏详情页,由于当前GameDetailView游戏详情页的isReady参数变量为false,因此GameDetailView游戏详情页会展示preStartView游戏回合视图。

我们希望的交互是preStartView游戏回合视图在显示2秒后自动到playGameView游戏中视图。

这里在页面载入时增加多一个方法,如下代码所示:

ZStack {
  Color(.black).edgesIgnoringSafeArea(.all)
  if isReady {
    playGameView()
  } else {
    preStartView()
  }
}
.onAppear(){
  DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
        self.isReady = true
      }
}

上述代码中,我们在GameDetailView游戏详情页onAppear展示时添加了一个在主线程上的操作,即基于当前时间2秒钟后,切换isReady状态。

如此,我们便实现了在用户进入GameDetailView游戏详情页时,先展示preStartView游戏回合视图,再展示preStartView游戏中视图了。

进入操作有了,最后是返回操作。

原有的返回按钮太丑了,我们可以自定义一个返回按钮,如下代码所示:

// 返回上一页
func backButton() -> some View {
  Button(action: {
    }) {
      Image(systemName: "chevron.left.circle")
      .font(.system(size: 17))
      .foregroundColor(.white)
    }
}
并将它加到GameDetailView游戏详情页视图中,如下代码所示:
scss
复制代码
ZStack {
  Color(.black).edgesIgnoringSafeArea(.all)
  if isReady {
    playGameView()
  } else {
    preStartView()
  }
}
.navigationBarBackButtonHidden(true)
.navigationBarItems(leading: backButton())

image.png

返回的操作交互也很简单,我们可以调用SwiftUI的通用返回方法,如下代码所示:

@Environment(.presentationMode) var mode

最后在点击backButton返回按钮的时候使用返回方法,如下代码所示:

self.mode.wrappedValue.dismiss()

image.png

本章预览

完成后,我们回到ContentView预览下整体项目。

本章小结

恭喜你,完成了本章的所有内容!

在本章中,我们构建了游戏详情页的视图,并完成了详情页的两种状态页面,准备开始游戏和游戏中的状态页面,还实现了从首页跳转到详情页、返回首页的全过程。

空气投篮项目iOS端整体的交互内容基本就到这里了,接下来我们将继续使用MVVM开发模式调整iOS端的内容,后面还会完成Watch端的页面及其交互。

最后如果条件成熟,我们将调用Apple提供的各种传感器来完成真实的交互体验。

请保持期待吧~

相关文章
|
JavaScript
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI,操作上更加亲民和接地气。
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
|
11月前
|
数据采集 人工智能 小程序
【一步步开发AI运动小程序】十、姿态动作相似度比较
本文介绍如何利用“云智AI运动识别小程序插件”开发AI运动小程序,重点讲解姿态动作相似度比较功能的运用,包括样本动作帧的采集和姿态相似度的计算方法,以及在组合运动中的应用实例。
|
存储 人工智能 弹性计算
从“云+原神”到“云上星穹”,阿里云支持米哈游新游全球首发
近日,阿里云支持米哈游新作《崩坏:星穹铁道》正式上线,首发当天全网下载量突破2000万,当日登上iOS免费榜与畅销榜的总榜第一及其他多国榜首。
|
存储 人工智能 物联网
LoRA大模型微调的利器
LoRA模型是小型的Stable Diffusion模型,它们对checkpoint模型进行微小的调整。它们的体积通常是检查点模型的10到100分之一。因为体积小,效果好,所以lora模型的使用程度比较高。
LoRA大模型微调的利器
|
iOS开发
水波涟漪,使用SwiftUI做一个仿iPhone隔空投送动画~
水波涟漪,使用SwiftUI做一个仿iPhone隔空投送动画~
358 0
|
人工智能 算法 Java
解锁LLMs的“思考”能力:Chain-of-Thought(CoT) 技术推动复杂推理的新发展
解锁LLMs的“思考”能力:Chain-of-Thought(CoT) 技术推动复杂推理的新发展
|
Java 数据库连接 开发者
SpringBoot实用开发篇第一章(yml配置文件操作)
SpringBoot实用开发篇第一章(yml配置文件操作)
|
数据挖掘
ggGenshin&Genshinpalette|SCI绘图遇上原神,不输于CNS正刊调色板
本文介绍了两个R包——`ggGenshin`和`Genshinpalette`,它们提供了基于热门游戏《原神》角色的配色方案,用于提升数据分析图表的视觉吸引力。`ggGenshin`安装后可通过角色名字调用配色,展示了一个生成条形图的例子。`Genshinpalette`则提供了更多角色的色彩选项,并在`diamonds`数据集上展示了应用。这两个包为R用户提供了现成的、具有游戏特色的调色板,可用于创建更吸引人的图表。
860 0
|
缓存 JavaScript 前端开发
nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器
nodejs循序渐进-高性能游戏服务器框架pomelo之创建一个游戏聊天服务器
|
安全 iOS开发 UED
实战编程·刻在男人DNA里的浪漫,空气投篮(一)
实战编程·刻在男人DNA里的浪漫,空气投篮(一)
160 0