swiftui - 如何显示一秒钟的图像?斯威夫特
问题描述
我想在玩家达到目标时显示一秒钟的图像。我想过发出警报,但它会减慢游戏速度。我只想让图像在屏幕顶部停留一秒钟,然后消失,直到下一个成就。
示例代码如下:
var TapNumber = 0
func ScoreUp() {
TapNumber += 1
if TapNumber == 100 {
showImage()
}
}
func showImage() {
// this is the function I want to create but. I do not know how
show image("YouEarnedAPointImage") for one second
}
解决方案
这是可能方法的演示
struct DemoShowImage1Sec: View {
@State private var showingImage = false
var body: some View {
ZStack {
VStack {
Text("Main Content")
Button("Simulate") { self.showImage() }
}
if showingImage {
Image(systemName: "gift.fill")
.resizable()
.frame(width: 100, height: 100)
.background(Color.yellow)
}
}
}
private func showImage() {
self.showingImage = true
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.showingImage = false
}
}
}
推荐阅读
- python - 通过 VBA 传递 Python 参数
- matlab - 通过方程 f(x,y) 在矩阵中找到等于数字 m 的两个元素
- node.js - Jest/Node Axios 测试抛出错误
- html - 如何使用 flexbox 之间的空间对齐多个跨度元素以垂直从同一位置开始
- javascript - 如何使用php编辑div的用户信息?
- reactjs - 反应 Axios 返回未定义
- powershell - PowerShell - 如何查看现有的 BalloonTip 通知
- python - 从包含多列的 csv 文件中汇总特定数据并在 python 字典中给出结果的方法
- node.js - 从expressJs中的表单数据请求中获取blob数据
- flutter - Flutter 安装失败,ic_launcher.png