SwiftUI Pu sh множественный просмотр с нажатой кнопкой во встроенных подпредставлениях - PullRequest
0 голосов
/ 05 августа 2020
• 1000 , Subview3). В каждом из них у меня 2 или 3 кнопки (Subview1ButtonA, Subview1ButtonB, Subview1Button C). Я хочу pu sh различный вид в зависимости от того, какая кнопка нажата. Раньше нам нужно было находиться в ViewA, чтобы иметь возможность создать sh представление с помощью обратного вызова, уведомлений и всего прочего, чтобы уведомить ViewA, что мы хотим, например, sh ViewB. Здесь, со SwiftUI, я вообще не понимаю, что он ожидает от нас делать с NavigationLink.

Вот мой пример кода для демонстрации моего варианта использования.

// MainView.swift

final class State: ObservableObject {
    // Close allow me to close my ViewA, it is a modal and I have a button X integrated
    // in Subview1ButtonA
    @Published var closePressed: Bool = false
    @Published var isView2Presented: Bool = false
}

struct ViewA: View {
    @ObservedObject var state = State()

    var body: some View {
        NavigationView {
            VStack(content: {
                 NavigationLink(destination: View2(isPresented: self.$state.isView2Presented),
                                isActive: self.$state.isView2Presented) {
                                ViewB(closePressed: self.$state.closePressed,
                                      view2Pressed: self.$state.isView2Presented)
                 }
            })
        }
    }
}

If У меня есть третья кнопка в ViewB, как она работает, ведь здесь всего одна NavigationLink ..? Честно говоря, меня это действительно сбивает с толку.

Спасибо за дальнейшую помощь!

Изменить:

У меня есть MainView, у меня есть пара подвидов в этом MainView (скажем, блок обзора объединен, чтобы сформировать MainView) В этих блоках у меня есть пара кнопок, и каждая кнопка должна открывать другой View. Я не уверен, что понимаю, как реализовать здесь мою навигацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...