Многострочный текст не работает в NavigationLink внутри списка в SwiftUI - PullRequest
2 голосов
/ 10 июля 2019

Многострочный 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)
            }
        }
    }
}

enter image description here

Удаление NavigationLink, Text ведет себя как ожидалось.

Есть ли способ исправить это, или это ошибка?

1 Ответ

2 голосов
/ 11 июля 2019

Кажется, что 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)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...