From 173a36d9c51d0b99c8cc6777c6fadbe08fb335f6 Mon Sep 17 00:00:00 2001 From: JURI <80569323+juri123123@users.noreply.github.com> Date: Thu, 4 Dec 2025 15:57:32 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20#338=20=EC=97=B0=ED=83=80=20=EC=8B=9C=20?= =?UTF-8?q?=EB=B6=80=EC=9E=90=EC=97=B0=EC=8A=A4=EB=9F=AC=EC=9A=B4=20?= =?UTF-8?q?=ED=98=84=EC=83=81=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/HomeViewController.swift | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ByeBoo-iOS/ByeBoo-iOS/Presentation/Feature/Home/ViewController/HomeViewController.swift b/ByeBoo-iOS/ByeBoo-iOS/Presentation/Feature/Home/ViewController/HomeViewController.swift index 3163cb29..9d7c6a18 100644 --- a/ByeBoo-iOS/ByeBoo-iOS/Presentation/Feature/Home/ViewController/HomeViewController.swift +++ b/ByeBoo-iOS/ByeBoo-iOS/Presentation/Feature/Home/ViewController/HomeViewController.swift @@ -21,6 +21,7 @@ final class HomeViewController: BaseViewController { private var state: HomeState = .beforeJourneyStart private var isFirstVisit: Bool = true private var journeyType: JourneyType = .face + private var isAnimating: Bool = false init(viewModel: HomeViewModel) { self.viewModel = viewModel @@ -105,12 +106,19 @@ extension HomeViewController { @objc private func boriDidTap() { - guard case .success(let dialogues) = viewModel.dialoguesResult else { return } - - self.rootView.updateOnboardingText(dialogues.tapDialogue, withAnimation: true) - DispatchQueue.main.asyncAfter(deadline: .now() + 3) { - self.rootView.updateOnboardingText(dialogues.dialogue, withAnimation: true) + guard !isAnimating, + case .success(let dialogues) = viewModel.dialoguesResult else { return } + + isAnimating = true + rootView.updateOnboardingText(dialogues.tapDialogue, withAnimation: true) + + DispatchQueue.main.asyncAfter(deadline: .now() + 3) { [weak self] in + self?.rootView.updateOnboardingText(dialogues.dialogue, withAnimation: true) + + DispatchQueue.main.asyncAfter(deadline: .now() + 1) { + self?.isAnimating = false + } } } }