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)
}
}
}
}
删除
NavigationLink
,Text
的行为符合预期。有没有办法解决这个问题,还是这是个错误?
最佳答案
更新
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/