如何在简单按钮单击时切换到新视图?

Posted

技术标签:

【中文标题】如何在简单按钮单击时切换到新视图?【英文标题】:How To Switch To A New View On Simple Button Click? 【发布时间】:2021-12-29 00:35:30 【问题描述】:

我只是想在用户单击按钮时打开一个新视图。使用 Swift API 最简单、最简单的方法是什么?

  //Login Button
            Button(
                action:
                
                // Open Signup Screen
                    Signup();
                ,
                label:
                
                // How the button looks li
                Text("Create New Account")
                .foregroundColor(.white)
                .font(.title)
                
                )
                .frame(maxWidth: .infinity, alignment: .center)
                .background(Color(red: 0.22, green: 0.655, blue: 0.02))
                .cornerRadius(8)
                .padding(.horizontal, metrics.size.width*0.10)
            
        

谢谢。

以赛亚·汤普森

【问题讨论】:

欢迎来到 Stack Overflow!请拨打tour 并查看:How do I ask a good question? 和How to create a Minimal, Reproducible Example。请学习Apple's SwiftUI Tutorials,我也强烈建议审核Stanford's CS193P。 搜索“NavigationLink SwiftUI”和/或“SwiftUI 编程导航” 【参考方案1】:

最好的方法是使用NavigationLink 并将内容包装在NavigationView 中。

NavigationView 用于表示视图层次结构。

例如:

// Wrapper for LogIn
struct ContentView: View 
    var body: some View 
      NavigationView  LogIn() 
    


// LogIn
struct LogIn: View 
  var body: some View 
    VStack 
      // Fields for log in

      NavigationLink(destination: SignUp()) 
        Text("Create New Account")
          .foregroundColor(.white)
          .font(.title)
          .frame(maxWidth: .infinity, alignment: .center)
          .background(Color(red: 0.22, green: 0.655, blue: 0.02))
          .cornerRadius(8)
          .padding(.horizontal, metrics.size.width*0.10)
      
    
  

您可以在官方文档中找到更多信息:

NavigationView NavigationLink

此外,[Hacking With Swift] (https://www.hackingwithswift.com/quick-start/swiftui/displaying-a-detail-screen-with-navigationlink) 是 SwiftUI 的一个很好的资源

【讨论】:

非常感谢!代码也很干净

以上是关于如何在简单按钮单击时切换到新视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何从导航栏按钮导航到新视图在 SwiftUI 中单击

单击按钮时如何将文本视图从一件事切换到另一件事 - Android

如何通过 Selenium 切换到新窗口

如何在for循环中切换单击按钮的类?

Xcode 5编程一个按钮以在单击时切换视图(不是segue)

通过单击 tableview 单元格切换到模态视图(新手)