diff --git a/ElementX/Sources/Other/Extensions/PlatformViewVersionPredicate.swift b/ElementX/Sources/Other/Extensions/PlatformViewVersionPredicate.swift index 879af5a8ea..61900a3e08 100644 --- a/ElementX/Sources/Other/Extensions/PlatformViewVersionPredicate.swift +++ b/ElementX/Sources/Other/Extensions/PlatformViewVersionPredicate.swift @@ -10,18 +10,24 @@ import SwiftUIIntrospect extension PlatformViewVersionPredicate { static var supportedVersions: Self { - .iOS(.v16, .v17, .v18) + .iOS(.v17, .v18) } } extension PlatformViewVersionPredicate { static var supportedVersions: Self { - .iOS(.v16, .v17, .v18) + .iOS(.v17, .v18) } } extension PlatformViewVersionPredicate { static var supportedVersions: Self { - .iOS(.v16, .v17, .v18) + .iOS(.v17, .v18) + } +} + +extension PlatformViewVersionPredicate { + static var supportedVersions: Self { + .iOS(.v17, .v18) } } diff --git a/ElementX/Sources/Screens/FilePreviewScreen/TimelineMediaPreviewView.swift b/ElementX/Sources/Screens/FilePreviewScreen/TimelineMediaPreviewView.swift index b9d009045e..55ab2be85b 100644 --- a/ElementX/Sources/Screens/FilePreviewScreen/TimelineMediaPreviewView.swift +++ b/ElementX/Sources/Screens/FilePreviewScreen/TimelineMediaPreviewView.swift @@ -20,11 +20,16 @@ struct TimelineMediaPreviewView: View { Color.clear .overlay { QuickLookView(viewModelContext: context).ignoresSafeArea() } // Overlay to stop QL hijacking the toolbar. .toolbar { toolbar } - .toolbarBackground(.visible, for: .navigationBar) + .toolbarBackground(.visible, for: .navigationBar) // The toolbar's scrollEdgeAppearance isn't aware of the quicklook view 🤷‍♂️ .toolbarBackground(.visible, for: .bottomBar) .navigationBarTitleDisplayMode(.inline) .safeAreaInset(edge: .bottom, spacing: 0) { caption } } + .introspect(.navigationStack, on: .supportedVersions) { + // Fixes a bug where the QuickLook view overrides the .toolbarBackground(.visible) after it loads the real item. + $0.navigationBar.scrollEdgeAppearance = $0.navigationBar.standardAppearance + $0.toolbar.scrollEdgeAppearance = $0.toolbar.standardAppearance + } .sheet(item: $context.mediaDetailsItem) { item in TimelineMediaPreviewDetailsView(item: item, context: context) }