【发布时间】:2020-02-28 10:55:59
【问题描述】:
我必须像这样实现要在屏幕中创建一个登录屏幕,用户可以输入手机号码并单击登录按钮 模型表将在 OTP 验证表必须关闭并导航后打开进行顶部验证在仪表板上。
这里我在那个contentView上创建了一个内容视图,点击Open model按钮,点击done后模型表(sheetView)将打开strong> 按钮表将关闭,然后屏幕从 ContentView 导航到 DashboardView。
// 内容视图
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")
}
}
}
}
有什么线索吗? ??????????
【问题讨论】:
标签: model navigation swiftui uimodalpresentationstyle swiftui-navigationlink