Нажмите контроллер представления из списка в SwiftUIIOS

Программируем под IOS
Anonymous
Нажмите контроллер представления из списка в SwiftUI

Сообщение Anonymous »

Я нахожусь на этапе изучения SwiftUI.
Во время этого я создал одно представление вкладок, содержащее 4 вкладки, из которых на последней вкладке есть список со следующим массивом< /p>

Код: Выделить всё

struct NavItem {
let id: String
let text: String
}

struct ServicesView: View {

@State private var listItems: [NavItem] = [NavItem(id: "1", text: "Profile"),
NavItem(id: "2", text: "Leave"),
NavItem(id: "3", text: "How to use"),
NavItem(id: "4", text: "About Us"),
NavItem(id: "5", text: "Logout")]
Использование LIST Я могу правильно отображать то же самое, единственная проблема, с которой я сталкиваюсь, заключается в том, что я не могу нажать новое при выборе любого элемента

Код: Выделить всё

 var body: some View {

NavigationView {
List (selection: $selection) {
ForEach(listItems, id:\.id) { item in
Button(action: {
if(item.id == "1"){
print("navigate to ----> " + item.text)
NavigationLink(destination: ProfileView()) {
Text("Show Detail View")
}
}
}) {
Text(item.text)
.foregroundStyle(.black)
}
.padding(10)
.listRowInsets(.init(top: 0,leading: -5, bottom: 0, trailing: -5))
.frame(minWidth: 111, idealWidth: .infinity, maxWidth: .infinity, alignment: .leading)
.tag(item.id)
.background(Color.clear)
}
}
}
}
Когда я добавляю навигационную ссылку внутри LIST, появляется предупреждение, как показано ниже:

Код: Выделить всё

Result of 'NavigationLink' initializer is unused
Я могу печатать на консоли, но мой список не переходит в Profileview.
Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/777 ... in-swiftui

Вернуться в «IOS»