Нажмите контроллер представления из списка в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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