Мне нужно реализовать как Чтобы создать экран входа в систему на экране, пользователь может ввести номер мобильного телефона и щелкнуть на листе модели кнопки входа в систему, чтобы открыть верхнюю проверку после того, как лист проверки OTP должен быть отклонен и перейти на панель инструментов.
Здесь я создал представление контента для этого контента. Нажмите кнопку Открыть модель , лист модели (sheetView) откроется после нажатия * 1009. * готово лист кнопок будет отклонен, чем при переходе по экрану с ContentView на DashboardView .
// ContentView
struct ContentView: View {
@State var isAction: Bool = false
@State var isDashboard: Bool = false
var body: some View {
NavigationView{
Button(action: {
self.isAction.toggle()
}) {
Text("Open Model")
}.sheet(isPresented: $isAction) {
sheetView(isDissmis: self.$isAction) { (isNavigateOnDashboard) in
print(isNavigateOnDashboard ?? false)
return self.isDashboard = isNavigateOnDashboard ?? false
}
}
NavigationLink(destination: DashboardView(), isActive: self.$isDashboard) {
EmptyView()
}
}
}
}
// sheetView: - он представлен как modalPresentationStyle
в виде листа.
struct sheetView: View {
@Binding var isDissmis: Bool
var isNavigateDashboard: ((Bool?)) -> Void?
var body: some View {
NavigationView{
Text("Here i have to verifiy Some details")
.navigationBarItems(trailing: doneButton)
}
}
var doneButton: some View {
Button(action: {
self.isDissmis = false
self.isNavigateDashboard(true)
}) {
Text("Done").bold()
}
}
}
// Панель инструментов: - после отклонения модели (лист) экран должен быть на навигационной панели.
struct DashboardView: View {
var body: some View {
TabView{
Text("Home").tabItem{
Image(systemName: "1.circle")
Text("Home")
}
Text("Activity").tabItem{
Image(systemName: "2.circle")
Text("Activity")
}
Text("profile").tabItem{
Image(systemName: "3.circle")
Text("profile")
}
}
}
}
Есть какие-либо подсказки для этого? ??