当前使用:
Xcode 11 Beta 5 Mac OSX Catalina Beta 5
代码如下:
import SwiftUI
struct SwiftUIView : View {
var body: some View {
NavigationView {
NavigationLink(destination: Product()) {
Text("Click")
}
.navigationBarTitle(Text("Navigation"))
}
}
}
#if DEBUG
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
#endif
这是结果:
点击或单击按钮时,它应该进入详细信息视图,什么也没发生。
注意:
在主屏幕上点击地标时,Apple的Landmark示例项目也无法正常工作。
该网站提到“不确定是Beta版本5中的错误还是设计错误,将无法正常工作” https://fuckingswiftui.com/#navigationlink
答案 0 :(得分:0)
必须是一个错误。但是,作为一种解决方法,当在NavigationView的顶视图上时,将NavigationLink嵌入VStack中。该按钮将获得其适当的样式和“可点击性”。
struct SwiftUIView : View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: Product()) {
Text("Click")
}
}.navigationBarTitle(Text("Navigation"))
}
}
}
答案 1 :(得分:0)
在Xcode(11.2)中工作
struct MasterView: View {
@State var selection: Int? = nil
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: DetailsView(), tag: 1, selection: $selection) {
Button("Press") {
self.selection = 1
}
}
}
}
}