如何为NavigationLink设置条件?SWIFTUI



我想给NavigationLink设置一个条件。

我有两个变量,NavigationLink如下。

@State var score = 0
@State var target = 10
NavigationLink(destination: level2()) {     
Text("Next Level")
}

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

谢谢。

好吧,你的问题可以有不同的解释。。。

  1. 如果你想在分数比目标大之前不表现出下一步的能力,那么这就是

    如果得分>只有当为true时,目标{//链接才会显示给用户NavigationLink(目的地:level2((({
    文本("下一级"(}}

  2. 如果你想显示链接,但在条件成立之前不允许导航,那么它就是

    NavigationLink(目的地:level2((({
    文本("下一级"(}.禁用(分数<=目标(

  3. 如果您想在条件为true时自动导航链接,那么可能的变体是(但请注意,在这种情况下,您需要手动操作前后导航,或禁止向后导航等。(

    NavigationLink(destination:level2((,isActive:.constant(score>target(({
    文本("下一级"(}

  • 备用是使用显式状态进行激活

如果你想保持颜色并在点击时显示一些警报,你可以使用以下破解:

NavigationLink(destination: EmptyView()) {
HStack {
Circle()
}
}
.contentShape(Rectangle())
.onTapGesture {
print("ALERT MAYBE")
}

相关内容

  • 没有找到相关文章

最新更新