Нажмите контроллер представления из списка в SwiftUI ⇐ IOS
-
Гость
Нажмите контроллер представления из списка в SwiftUI
Я изучаю SwiftUI
во время которого я создал одну вкладку с 4 вкладками, из которых на последней вкладке есть список со следующим массивом
struct NavItem { пусть идентификатор: строка пусть текст: строка } структура ServicesView: Просмотр { @State Private var listItems: [NavItem] = [NavItem(id: "1", текст: "Профиль"), NavItem(id: "2", текст: "Уйти"), NavItem(id: "3", текст: "Как использовать"), NavItem(id: «4», текст: «О нас»), NavItem(id: "5", текст: "Выход")] Используя LIST, я могу правильно отобразить то же самое в представлении, единственная проблема, с которой я сталкиваюсь, заключается в том, что я не могу нажать новое при выборе любого элемента
var body: some View { НавигацияВью { Список (выбор: $выбор) { ForEach(listItems, id:\.id) {элемент в Кнопка (действие: { если(item.id == "1"){ print("перейдите к ----> " + item.text) NavigationLink(пункт назначения: ProfileView()) { Текст («Показать подробный вид») } } }) { Текст(пункт.текст) .foregroundStyle(.black) } .padding(10) .listRowInsets(.init(верх: 0, начальный: -5, нижний: 0, завершающий: -5)) .frame(minWidth: 111, IdealWidth: .infinity, maxWidth: .infinity, выравнивание: .leading) .tag(item.id) .background(Цвет.очистить) } } } } Когда я добавляю навигационную ссылку внутри LIST, появляется предупреждение, как показано ниже:
Результат инициализатора NavigationLink не используется Я могу печатать с консоли, но мой список не переходит в Profileview.
Кто-нибудь может помочь мне понять, что я делаю неправильно. Любая помощь будет оценена по достоинству.
Заранее спасибо.
Я изучаю SwiftUI
во время которого я создал одну вкладку с 4 вкладками, из которых на последней вкладке есть список со следующим массивом
struct NavItem { пусть идентификатор: строка пусть текст: строка } структура ServicesView: Просмотр { @State Private var listItems: [NavItem] = [NavItem(id: "1", текст: "Профиль"), NavItem(id: "2", текст: "Уйти"), NavItem(id: "3", текст: "Как использовать"), NavItem(id: «4», текст: «О нас»), NavItem(id: "5", текст: "Выход")] Используя LIST, я могу правильно отобразить то же самое в представлении, единственная проблема, с которой я сталкиваюсь, заключается в том, что я не могу нажать новое при выборе любого элемента
var body: some View { НавигацияВью { Список (выбор: $выбор) { ForEach(listItems, id:\.id) {элемент в Кнопка (действие: { если(item.id == "1"){ print("перейдите к ----> " + item.text) NavigationLink(пункт назначения: ProfileView()) { Текст («Показать подробный вид») } } }) { Текст(пункт.текст) .foregroundStyle(.black) } .padding(10) .listRowInsets(.init(верх: 0, начальный: -5, нижний: 0, завершающий: -5)) .frame(minWidth: 111, IdealWidth: .infinity, maxWidth: .infinity, выравнивание: .leading) .tag(item.id) .background(Цвет.очистить) } } } } Когда я добавляю навигационную ссылку внутри LIST, появляется предупреждение, как показано ниже:
Результат инициализатора NavigationLink не используется Я могу печатать с консоли, но мой список не переходит в Profileview.
Кто-нибудь может помочь мне понять, что я делаю неправильно. Любая помощь будет оценена по достоинству.
Заранее спасибо.
Мобильная версия