在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
的运行将达到预期的效果。
是否可以解决此问题,或者这是一个错误?
答案 0 :(得分:2)
似乎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)
}
}
答案 1 :(得分:0)
在当前的XCode 13.1 Beta中,当“文本”视图位于容器视图内部时,我仍然对此有疑问。我可以解决这个问题,使行(容器)的高度最小:
Text("blabla").lineLimit(2).frame(minHeight: 50)