小编I K*_*aya的帖子

有没有办法给 NavigationLink 添加额外的功能?用户界面

我想为 NavigationLink 添加一个额外的功能。

示例代码是这样的:

struct ContentView: View {

func yes () {
print("yes")
}

var body: some View {

NavigationView {
NavigationLink(destination: level1()) {

     Text("Next")      
}}}}
Run Code Online (Sandbox Code Playgroud)

我知道这行不通,但是有可能做这样的事情吗?(它会去目的地并同时调用该函数)

NavigationLink(destination: level1(), yes()) {Text("Next")}   
Run Code Online (Sandbox Code Playgroud)

我尝试在 NavigationLink 中放置一个按钮,但它也不起作用。当我这样做时,只有按钮中的功能起作用,而 NavigationLink 不起作用。

NavigationLink(destination: level1())   {
        Button(action: { self.yes() }) 
        { Text("Button")}
        }
Run Code Online (Sandbox Code Playgroud)

navigation function swiftui navigationlink

7
推荐指数
1
解决办法
2869
查看次数

如何访问另一个结构体中的变量?斯维夫图伊

我想访问其他结构中的变量以获得总计数。

示例代码可以更好地演示:

struct level1: View {

@State var score1 = 5 

}

struct level2: View {

@State var score2 = 7 

}
Run Code Online (Sandbox Code Playgroud)

在另一个结构中,我希望能够使用 Score1 和 Score2 变量。下面的代码不起作用,但我需要这样的东西。

struct finalScore: View {

@State var totalScore = level1.score1 + level2.score2 

}
Run Code Online (Sandbox Code Playgroud)

swiftui

6
推荐指数
1
解决办法
6313
查看次数

如何为 NavigationLink 设置条件?斯威夫特

我想为 NavigationLink 设置一个条件。

我有两个变量,以及如下所示的 NavigationLink。

  @State var score = 0
  @State var target = 10

NavigationLink(destination: level2()) {     
  Text("Next Level")
 }
Run Code Online (Sandbox Code Playgroud)

如果分数大于目标,有没有办法让用户进入下一个级别?

谢谢。

navigation swiftui navigationlink

4
推荐指数
1
解决办法
2230
查看次数

如何在用户点击的地方显示图像?斯威夫特用户界面

我正在制作一个采矿点击游戏,我想在用户点击的地方显示一把锤子。

我的意思是,无论用户点击哪里,锤子图像都会停留一秒钟。

有办法做到吗?

我的示例代码如下:

struct Level1: View {

@State var tapScore = 0
@State var showingMinedHammer = false

func showMinedHammer() {
    self.showingMinedHammer = true
    DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
    self.showingMinedHammer = false
    }
}

func mine() {
    tapScore += 1
    showMinedHammer()
}

var body: some View {
     GeometryReader { geometryProxy in
        ZStack {
Image("mine1").resizable().frame(width: UIScreen.main.bounds.height * 1.4, height: UIScreen.main.bounds.height)
              .onTapGesture {
            self.mine()
            }

if self.showingMinedHammer {
                Image(systemName: "hammer.fill")
                .resizable()
                .frame(width: 30, height: 30)
            }

}
}.edgesIgnoringSafeArea(.all)
}
}
Run Code Online (Sandbox Code Playgroud)

position image swiftui

3
推荐指数
1
解决办法
1378
查看次数

标签 统计

swiftui ×4

navigation ×2

navigationlink ×2

function ×1

image ×1

position ×1