SwiftUI中的UIButton导航推送等价物是什么



我有一个工作区,我需要主视图,该视图使用按钮推送到包含各自视图的其他项目。这在UI情节提要中很容易实现,但如果不实现navigationView,它似乎就不存在。

Button(action: {
print("Button action")
}) {
Image("LIVEMENU")
}
.padding(.vertical, 2.5)
.padding(.horizontal, 2.5)

是当前的实现,直到现在它还是一个占位符。

这就是我习惯的地方

- (IBAction)GoToNext:(id)sender 
{
ViewController2 *vc2 = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];
[[self navigationController] pushViewController:vc2 animated:YES];
}

您需要使用NavigationView,但可以将其隐藏。

尝试以下操作:

struct ContentView: View {
@State private var isLinkActive = false
var body: some View {
NavigationView {
VStack {
Button("Go to...") {
// activate link programmatically
self.isLinkActive = true
}
}
// hide navigation bar
.navigationBarTitle("", displayMode: .inline)
.navigationBarHidden(true)
.background(
NavigationLink(destination: SecondView(), isActive: $isLinkActive) {
EmptyView()
}
.hidden()
)
}
}
}
struct SecondView: View {
@Environment(.presentationMode) private var presentationMode
var body: some View {
Button("Go back") {
self.presentationMode.wrappedValue.dismiss()
}
.navigationBarTitle("", displayMode: .inline)
.navigationBarHidden(true)
}
}

最新更新