Я пытаюсь изучить основы SwiftUI (из UIKit).
Я просто пытаюсь открыть новый просмотр, как только мой вызов async
завершен, но я не нахожуhow.
Это моя тестовая реализация:
struct MasterView: View {
@State var parralaxOffset: CGFloat = 0
func handleParralax(_ reader: GeometryProxy) -> some View {
self.parralaxOffset = reader.frame(in: .global).minY
return Text("Foreground contentOffset: \(reader.frame(in: .global).minY)")
}
var body: some View {
NavigationView {
Group {
Button(action: {
self.dummyAsynCall() {
//Push a new view
}
}) {
Text("Button")
}
}
}.navigationBarTitle("test")
}
private func dummyAsynCall(_ onComplete: @escaping (() -> ())) {
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
print("Call completed")
onComplete()
}
}
}
Я знаю о NavigationLink
, но они работают синхронно (когда пользователь касается ее в основном).
Кто-нибудьзнаете, как выполнить навигацию в блоке завершения?