SwiftUI NavigationLink按钮为灰色且无法触摸

时间:2019-08-20 09:57:10

标签: swiftui navigationlink

我在SwiftUI中无法获得NavigationLink。该按钮可见,但不幸的是,该按钮为灰色,无法单击。

代码如下:

import SwiftUI
import Combine

struct ContentView: View {
    var body: some View {
        NavigationView{
            NavigationLink(destination: Text("Detail for Test")) {
                    Text("Test")
            }.navigationBarTitle("Select a user")
        }
    }
}

有人知道这个问题吗?

2 个答案:

答案 0 :(得分:2)

问题似乎与以下事实有关:您在NavigationLink内添加了NavigationView而未定义布局

事实上,如果您添加了VStack,一切都会正常运行

struct ContentView: View {
    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: Destination()) {
                        Text("Test")
                }
            }.navigationBarTitle("Select a user")
        }
    }
}

struct Destination: View {
    var body: some View {
        Text("Ok")
    }
}

答案 1 :(得分:0)

该错误与NavigationLink语句中的视图丢失有关。

...

NavigationLink(destination: NeedsAView()) {
    Text("Test")
}.navigationBarTitle("Select a user")

...

struct NeedsAView: View {
    var body: some View {
        Text("Hello Destination")
    }
}