From dfec233a39a494e41d2bb9b297d53e45b137acba Mon Sep 17 00:00:00 2001 From: Kim yonghae Date: Thu, 4 Jun 2026 17:49:42 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(presentation):=20back=20Swipe=20?= =?UTF-8?q?=ED=99=9C=EC=84=B1=ED=99=94=20-=20leftItems=EC=97=90=20?= =?UTF-8?q?=EC=BB=A4=EC=8A=A4=ED=85=80=20UIView=EB=A5=BC=20=EB=84=A3?= =?UTF-8?q?=EB=8A=94=20=EC=88=9C=EA=B0=84=20=EB=92=A4=EB=A1=9C=EA=B0=80?= =?UTF-8?q?=EB=8A=94=20=EA=B8=B0=EB=B3=B8=20swipe=EB=8A=94=20=EB=B9=84=20?= =?UTF-8?q?=ED=99=9C=EC=84=B1=ED=99=94=20=EB=90=98=EB=AF=80=EB=A1=9C=20UIN?= =?UTF-8?q?avigationController=EC=97=90=20=EB=AA=85=EC=8B=9C=ED=96=88?= =?UTF-8?q?=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UINavigationController+Extensions.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift diff --git a/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift b/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift new file mode 100644 index 00000000..e5199b86 --- /dev/null +++ b/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift @@ -0,0 +1,12 @@ +import UIKit + +extension UINavigationController: @retroactive UIGestureRecognizerDelegate { + open override func viewDidLoad() { + super.viewDidLoad() + interactivePopGestureRecognizer?.delegate = self + } + + public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { + return viewControllers.count > 1 + } +} From 4d8cdc2ad914fcde59ad0fd21fe95905f49603b6 Mon Sep 17 00:00:00 2001 From: Kim yonghae Date: Sat, 6 Jun 2026 15:20:23 +0900 Subject: [PATCH 2/2] =?UTF-8?q?refactor(appReview):=20=EC=95=B1=20?= =?UTF-8?q?=EB=A6=AC=EB=B7=B0=20=EB=8C=80=EC=9D=91=20-=20=EB=8B=A4?= =?UTF-8?q?=EC=9A=B4=EB=A1=9C=EB=93=9C=20=ED=83=88=ED=92=80=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=ED=99=95=EB=B3=B4=20:=20=EB=82=98=EC=A4=91?= =?UTF-8?q?=EC=97=90=20=EB=B2=84=ED=8A=BC=20=EC=88=98=EC=A0=95=20-=20model?= =?UTF-8?q?Card=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EC=A4=91...:=20?= =?UTF-8?q?=EB=B3=B5=EC=9E=A1=ED=95=9C=20UI=20=EC=A0=9C=EA=B1=B0=20->=20?= =?UTF-8?q?=EC=95=9E=EC=9C=BC=EB=A1=9C=20errorMesssage=EB=A1=9C=20?= =?UTF-8?q?=EB=A7=8C=20=ED=99=9C=EC=9A=A9=ED=95=A9=EB=8B=88=EB=8B=A4.=20-?= =?UTF-8?q?=20swiftforamt=20=EC=8A=A4=ED=83=80=EC=9D=BC=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/Component/Common/DownloadModelCard.swift | 4 +--- .../DesignSystem/UINavigationController+Extensions.swift | 4 ++-- .../ViewModel/OnBoarding/OnBoardingViewModel.swift | 9 +++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Presentation/Sources/Component/Common/DownloadModelCard.swift b/Presentation/Sources/Component/Common/DownloadModelCard.swift index 019212ce..4cfcf48f 100644 --- a/Presentation/Sources/Component/Common/DownloadModelCard.swift +++ b/Presentation/Sources/Component/Common/DownloadModelCard.swift @@ -144,9 +144,7 @@ extension DownloadModelCard { case .immutable: immutableProgressView.isHidden = false } - downloadMessageLabel.isHidden = false - downloadMessageLabel.setTypography(text: "다운로드 중...", style: .body2) - downloadMessageLabel.textColor = .gray950 + downloadMessageLabel.isHidden = true case .downloaded: switch style { case .default: diff --git a/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift b/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift index e5199b86..1cc677c4 100644 --- a/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift +++ b/Presentation/Sources/DesignSystem/UINavigationController+Extensions.swift @@ -1,11 +1,11 @@ import UIKit extension UINavigationController: @retroactive UIGestureRecognizerDelegate { - open override func viewDidLoad() { + override open func viewDidLoad() { super.viewDidLoad() interactivePopGestureRecognizer?.delegate = self } - + public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { return viewControllers.count > 1 } diff --git a/Presentation/Sources/ViewModel/OnBoarding/OnBoardingViewModel.swift b/Presentation/Sources/ViewModel/OnBoarding/OnBoardingViewModel.swift index 0a2f6775..1cf84d42 100644 --- a/Presentation/Sources/ViewModel/OnBoarding/OnBoardingViewModel.swift +++ b/Presentation/Sources/ViewModel/OnBoarding/OnBoardingViewModel.swift @@ -90,7 +90,8 @@ public final class OnBoardingViewModel { case .download: switch status.storage { case .downloading: return "취소" - default: return "이전" + case .downloaded: return "이전" + default: return "나중에" } default: return "이전" @@ -174,11 +175,15 @@ extension OnBoardingViewModel { // 다운로드 중일 때는 다운로드 취소 downloadTask?.cancel() downloadTask = nil - default: + case .downloaded: + // 이미 다운로드 완료했을 때는 이전 단계로 let nextIndex = currentStepIndex - 1 guard nextIndex >= 0 else { return } isPaging = true scrollAction(nextIndex) + default: + // 다운로드 안 했거나 실패했을 때는 '나중에' (다음 단계로 이동) + nextPage(scrollAction: scrollAction) } default: // 뒤로가기 let nextIndex = currentStepIndex - 1