SwiftUI NavigationLink Скрыть стрелку


9

Есть ли способ скрыть стрелку справа от вида навигационной ссылки, которая добавляется автоматически?

Я хочу показать сетку изображений, используя NavigationView -> Список -> HStack -> NavigationLink_1 - NavigationLink_2

У NavigationLinks есть стрелки, и это выглядит странно введите описание изображения здесь


тоже любопытно по этому поводу, вы нашли ответ?
crazyhor77

@ crazyhor77 Нет, я вернулся к раскадровке, UICollectionView, и после этого переключаюсь на клики в ячейках.
blackops

Ответы:


7

Как это работает для меня:

List { 
    ForEach(elements) { element in
        ZStack {
            CustomView(element: element)
            NavigationLink(destination: DestinationView()) {
                EmptyView()
            }.buttonStyle(PlainButtonStyle())
        }
    }
}

1
Это не похоже на работу с формами.
Всегда Uribe

3
@State var selection: Int? = nil

var body: some View {
    let navigation = NavigationLink(destination: Text("View"), tag: 1, selection: $selection) { EmptyView() }
    return 
        VStack { 
            navigation
            Text("Tap").onTapGesture { self.selection = 1 }
        }
}

Это на самом деле не работает, так как при возврате невозможно выбрать один и тот же элемент.
Владимир Матусевич,

1
Я использовал навигационную ссылку таким образом, и все работало нормально.
Нарек Гукасян

Это не работает при использовании Form: `var body: some View {Form {NavigationLink (destination: Text (" View "), tag: 1, selection: $ selection) {EmptyView ()} Text (" Tap "). onTapGesture {self.selection = 1}}} `ПРИМЕЧАНИЕ: VStackв приведенном выше примере не требуется.
RndmTsk

1
Попробуйте следующим образом: VStack {navlink Form}
Нарек Гукасян

0

Вы также можете сделать, как: это сработало для меня,

@State var boolValue: Bool = false


                HStack {
                    Text("Your text")
                    Toggle(isOn: $boolValue){
                        Text("")
                    }
                    if boolValue {
                        NavigationLink(destination: DestinationView()) {
                            EmptyView()
                        }.frame(width: 0)
                    }
                }
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.