From 6ec5120e61778e1e52720d65ff60954c3171cdd0 Mon Sep 17 00:00:00 2001 From: opficdev Date: Thu, 30 Jul 2026 09:37:41 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20iOS=2018=20=EC=9D=B4=EC=83=81=EC=97=90?= =?UTF-8?q?=EC=84=9C=EB=A7=8C=20ScrollView=EC=97=90=20=EB=93=A4=EC=96=B4?= =?UTF-8?q?=EA=B0=80=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PushNotificationListView.swift | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/Application/Presentation/NotificationTab/Sources/PushNotification/PushNotificationListView.swift b/Application/Presentation/NotificationTab/Sources/PushNotification/PushNotificationListView.swift index b3a95e57..1c622d5a 100644 --- a/Application/Presentation/NotificationTab/Sources/PushNotification/PushNotificationListView.swift +++ b/Application/Presentation/NotificationTab/Sources/PushNotification/PushNotificationListView.swift @@ -161,6 +161,30 @@ public struct PushNotificationListView: View { } private var headerView: some View { + Group { + if #available(iOS 18.0, *) { + ScrollView(.horizontal) { + headerContent + } + .scrollIndicators(.never) + .contentMargins(.leading, 16, for: .scrollContent) + } else { + headerContent + .padding(.leading, 16) + } + } + .frame(maxWidth: .infinity, alignment: .leading) + .frame(height: headerHeight) + .onAppear { + headerOffset = 0 + isScrollTrackingEnabled = false + DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { + isScrollTrackingEnabled = true + } + } + } + + private var headerContent: some View { HStack(spacing: 8) { if 0 < store.appliedFilterCount { Menu { @@ -231,16 +255,6 @@ public struct PushNotificationListView: View { } .frame(height: headerHeight) } - .padding(.leading, 16) - .frame(maxWidth: .infinity, alignment: .leading) - .frame(height: headerHeight) - .onAppear { - headerOffset = 0 - isScrollTrackingEnabled = false - DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { - isScrollTrackingEnabled = true - } - } } private var filterBadge: some View {