Моя проблема в том, что я пытаюсь представить полноэкранный вертикальный анимированный вид поверх просмотра страницы, но жест просмотра страницы все еще работает, и я могу видеть элементы управления страницы.
Есть ли шансы представить представление на верх страницы (на самом деле мне нужно отобразить его перетаскиванием)
let appState: AppState
@EnvironmentObject var unit: AudioUnit
@Environment(\.interactors) var interactors: InteractorsContainer
@State var isSettingsScreenPresenting: Bool = false
private let cancelBag = CancelBag()
let swipeGesture = DragGesture()
init(appState: AppState) {
self.appState = appState
}
var body: some View {
ZStack() {
// View with gradient, speaker Image and blur in bottom
BackgroundWithSpeakerImageView().environmentObject(unit)
ZStack {
GeometryReader { geometry in
VStack {
Spacer()
.frame(width: geometry.size.width, height: geometry.size.height / 2, alignment: .top)
ControlsView.init().environmentObject(self.appState)
.environmentObject(self.unit)
Spacer()
.frame(width: geometry.size.width, height: 82, alignment: .top)
Button(action: {
withAnimation{
self.isSettingsScreenPresenting = true
}
}){
Image(R.image.settingsArrow.name)
.foregroundColor(.white)
}
Spacer()
.frame(width: geometry.size.width, height: 69, alignment: .top)
}
}
.onReceive(self.unit.openStateSubject.updates(for: \.self), perform: { (value) in
if value {
self.interactors.settingsInteractors[self.unit].setup()
}
})
}
ZStack {
SettingsView.init()
.offset(x: 0, y: isSettingsScreenPresenting ? 0 : UIScreen.main.bounds.size.height )
.environmentObject(self.appState)
.environmentObject(self.unit)
}
}
}
}```