Text内的NavigationLink中的多行List似乎不起作用。

这是代码:

struct ContentView : View {
    var body: some View {
        List(1...5) { _ in
            NavigationLink(destination: EmptyView()) {
                Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
                    .lineLimit(nil)
            }
        }
    }
}

list - 多行文本在SwiftUI中列表内的NavigationLink中不起作用-LMLPHP

删除NavigationLinkText的行为符合预期。

有没有办法解决这个问题,还是这是个错误?

最佳答案

更新

Beta 5似乎已经解决了该错误!

Beta 4和早期版本的解决方法:

似乎NavigationLink已“损坏”。但是,您可以改为使用 DynamicNavigationDestinationLink 。我知道这太冗长,但是如果您需要出路,就可以在这里找到。至少直到NavigationLink更好地工作为止。

struct ContentView: View {

    var body: some View {
        NavigationView {
            TopView().navigationBarTitle(Text("Top View"))
        }
    }
}

struct TopView: View {

    let detailView = DynamicNavigationDestinationLink(id: \String.self) { data in
        DetailView(passedData: data)
    }

    var body: some View {
        List(1...5) { i in
            Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")
                .lineLimit(nil)
                .tapAction { self.detailView.presentedData?.value = "Detail for Row #\(i)" }
        }
    }
}

struct DetailView: View {
    let passedData: String

    var body: some View {
        Text(passedData)
    }
}

关于list - 多行文本在SwiftUI中列表内的NavigationLink中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56977496/

10-12 05:08