Swift 移动到下一步查看按钮根据条件单击,快捷界面

Swift 移动到下一步查看按钮根据条件单击,快捷界面,swift,xcode,swiftui,swiftui-navigationlink,swiftui-navigationview,Swift,Xcode,Swiftui,Swiftui Navigationlink,Swiftui Navigationview,我在这里读了很多关于SwiftUI导航的文章,并尝试了一些方法,但都没有达到预期效果 我正在开发一个手表应用程序,其中我必须使用两个文本字段。我只想在两个字段都不为空时在下一个屏幕上移动。这是我的密码 但当我按下导航链接时,按钮动作并没有调用,控制移动到下一个屏幕。因此,我想找到任何方法,可以先检查文本字段,然后移动到下一个视图。尝试相反的方向-将按钮放在前面(需要重新设计),并将链接放在程序激活的背景中,如 Button(action: { if !check_mi

我在这里读了很多关于SwiftUI导航的文章,并尝试了一些方法,但都没有达到预期效果

我正在开发一个手表应用程序,其中我必须使用两个文本字段。我只想在两个字段都不为空时在下一个屏幕上移动。这是我的密码


但当我按下导航链接时,按钮动作并没有调用,控制移动到下一个屏幕。因此,我想找到任何方法,可以先检查文本字段,然后移动到下一个视图。

尝试相反的方向-将按钮放在前面(需要重新设计),并将链接放在程序激活的背景中,如

    Button(action:  {
        if !check_minute_and_seconds_are_empty() {
            movetoNextScreen = 1       // << activate link
        }
    }) {
      Text("Next")
        .font(.system(size: 12, weight: .semibold))
        .frame(alignment: .center)
    }
    .background(
       NavigationLink(destination: WaterTemprature(), tag: 1,
          selection: $movetoNextScreen) { EmptyView() }
    )
按钮(操作:{
如果!检查\u分钟\u和\u秒\u是否为空(){

movetoNextScreen=1//提供更多上下文,以便我们回答您的问题:(例如,整个视图,可以在我们自己的计算机上成功编译的东西。可以工作的最小值)您必须将
movetoNextScreen
设置为1才能触发转换。
    Button(action:  {
        if !check_minute_and_seconds_are_empty() {
            movetoNextScreen = 1       // << activate link
        }
    }) {
      Text("Next")
        .font(.system(size: 12, weight: .semibold))
        .frame(alignment: .center)
    }
    .background(
       NavigationLink(destination: WaterTemprature(), tag: 1,
          selection: $movetoNextScreen) { EmptyView() }
    )