#ios #swift #swiftui
#iOS #swift #swiftui
Вопрос:
У меня есть и pageViewController, где в первый раз отображается проход, и login after, где выполняется вход в систему, загружается Navigationview, все видно нормально, но клики на боковой панели не работают, я не могу найти проблему.
import Foundation
import SwiftUI
import FirebaseAuth
struct StartView: View {
@Environment(.horizontalSizeClass) private var horizontalSizeClass
@State var showj = false
private let initialLaunchKey = "isInitialLaunch"
@State var statusini = UserDefaults.standard.value(forKey: "status") as? Bool ?? false
var body: some View {
VStack {
if showj || UserDefaults.standard.bool(forKey: initialLaunchKey){
LoginPro().transition(.move(edge: .bottom))
} else {
PageViewContainer( viewControllers: Page.getAll.map({ UIHostingController(rootView: PageView(page: $0) ) }), presentSignupView: {
withAnimation {
self.showj = true
}
UserDefaults.standard.set(true, forKey: self.initialLaunchKey)
}).transition(.scale)
}
}.frame(maxHeight: .infinity)
.background(Color.backgroundColor)
.edgesIgnoringSafeArea(.all)
.onTapGesture {
UIApplication.shared.endEditing()
}
}
}
struct StartView_Previews: PreviewProvider {
static var previews: some View {
StartView()
}
}
Вид боковой панели
var body: some View {
ZStack {
if horizontalSizeClass == .compact {
tabView
} else {
sidebar
}
fullContent
}
}
Есть идеи?? Спасибо за все
Комментарии:
1. Не могли бы вы добавить демонстрационный код для вашей проблемы?
2. Конечно, это часть кода.
3. Код не поддается проверке, но имейте в виду, что UserDefaults не обновляет представление SwfitUI, поэтому изменение любого значения, которое вы делаете в нем, не имеет никакого эффекта. На всякий случай.