SwiftUI-单击时NavigationLink不起作用

时间:2019-08-09 15:22:10

标签: swiftui xcode11 macos-catalina

当前使用:

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

这是结果:

enter image description here

点击或单击按钮时,它应该进入详细信息视图,什么也没发生。

注意:

  • 在主屏幕上点击地标时,Apple的Landmark示例项目也无法正常工作。

  • 该网站提到“不确定是Beta版本5中的错误还是设计错误,将无法正常工作” https://fuckingswiftui.com/#navigationlink

2 个答案:

答案 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
                    }
                }
            }
     }
}