diff --git a/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/Contents.json b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/Contents.json new file mode 100644 index 00000000..60ba8231 --- /dev/null +++ b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "rounded_max_rectangle.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "rounded_max_rectangle@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "rounded_max_rectangle@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle.png b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle.png new file mode 100644 index 00000000..0fc11c4f Binary files /dev/null and b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle.png differ diff --git a/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@2x.png b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@2x.png new file mode 100644 index 00000000..407ffe88 Binary files /dev/null and b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@2x.png differ diff --git a/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@3x.png b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@3x.png new file mode 100644 index 00000000..7b6005c1 Binary files /dev/null and b/Projects/Presentation/Resources/Images.xcassets/Onboarding/rounded_max_rectangle.imageset/rounded_max_rectangle@3x.png differ diff --git a/Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift b/Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift index 7db11739..eaece15a 100644 --- a/Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift +++ b/Projects/Presentation/Sources/Common/DesignSystem/BitnagilGraphic.swift @@ -18,6 +18,7 @@ enum BitnagilGraphic { static let loginGraphic = UIImage(named: "login_graphic", in: bundle, with: nil) static let onboardingRectangle = UIImage(named: "rounded_rectangle", in: bundle, with: nil) static let onboardingBigRectangle = UIImage(named: "rounded_big_rectangle", in: bundle, with: nil) + static let onboardingMaxRectangle = UIImage(named: "rounded_max_rectangle", in: bundle, with: nil) static let onboardingFomoGraphic = UIImage(named: "onboarding_fomo_graphic", in: bundle, with: nil) static let onboardingGrayLine = UIImage(named: "gray_line", in: bundle, with: nil) static let progressStep1 = UIImage(named: "progress_step1", in: bundle, with: nil) diff --git a/Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift b/Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift index 82f048b9..d4fbb036 100644 --- a/Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift +++ b/Projects/Presentation/Sources/Onboarding/View/Component/OnboardingResultSummaryView.swift @@ -85,10 +85,18 @@ final class OnboardingResultSummaryView: UIView { } case .outdoor: - return "\(highlightText)을 목표로 해볼게요!" + if highlightText.contains("4") { + return "\(highlightText)을 목표로" + } else { + return "\(highlightText)을 목표로 해볼게요!" + } default: - return "원하는 중이에요" + if highlightText == "" { + return "원하는 중이에요" + } else { + return "해볼게요!" + } } } diff --git a/Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift b/Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift index b3984de5..fcaa9299 100644 --- a/Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift +++ b/Projects/Presentation/Sources/Onboarding/View/OnboardingResultViewController.swift @@ -30,7 +30,8 @@ final class OnboardingResultViewController: BaseViewController= 2 if ifNeedExpandFeelingResult { - let extendtedFeelingResultView = OnboardingResultSummaryView(onboardingType: nil, highlightText: "") - feelingResultStackView.addArrangedSubview(extendtedFeelingResultView) - extendtedFeelingResultView.snp.makeConstraints { make in + let expandedFeelingResultView = OnboardingResultSummaryView(onboardingType: nil, highlightText: "") + feelingResultStackView.addArrangedSubview(expandedFeelingResultView) + expandedFeelingResultView.snp.makeConstraints { make in make.height.equalTo(Layout.resultLabelHeight) } - rectangleImageView.image = BitnagilGraphic.onboardingBigRectangle - rectangleHeightConstraint?.update(offset: Layout.rectangleImageViewMaxHeight) - resultGraphicViewTopConstraint?.update(offset: Layout.resultGraphicViewTopMinSpacing) } feelingResultStackView.snp.makeConstraints { make in make.height.equalTo(ifNeedExpandFeelingResult ? Layout.resultLabelMaxHeight : Layout.resultLabelHeight) } - [timeResultView, feelingResultView, outdoorResultView].forEach { - $0.snp.makeConstraints { make in + // expand outdoor result view + let outdoorResultStackView = UIStackView() + outdoorResultStackView.axis = .vertical + outdoorResultStackView.spacing = 6 + + outdoorResultStackView.addArrangedSubview(outdoorResultView) + let ifNeedExpandOutdoorResult = outdoorResult.contains("4") + if ifNeedExpandOutdoorResult { + let expandedOutdoorResultView = OnboardingResultSummaryView(onboardingType: nil, highlightText: " ") + outdoorResultStackView.addArrangedSubview(expandedOutdoorResultView) + expandedOutdoorResultView.snp.makeConstraints { make in make.height.equalTo(Layout.resultLabelHeight) } } - [timeResultView, feelingResultStackView, outdoorResultView].forEach { + outdoorResultStackView.snp.makeConstraints { make in + make.height.equalTo(ifNeedExpandOutdoorResult ? Layout.resultLabelMaxHeight : Layout.resultLabelHeight) + } + + if ifNeedExpandFeelingResult && ifNeedExpandOutdoorResult { + rectangleImageView.image = BitnagilGraphic.onboardingMaxRectangle + rectangleHeightConstraint?.update(offset: Layout.rectangleImageViewMaxHeight) + resultGraphicViewTopConstraint?.update(offset: Layout.resultGraphicViewTopMinSpacing) + } else if ifNeedExpandFeelingResult != ifNeedExpandOutdoorResult { + rectangleImageView.image = BitnagilGraphic.onboardingBigRectangle + rectangleHeightConstraint?.update(offset: Layout.rectangleImageViewMidHeight) + resultGraphicViewTopConstraint?.update(offset: Layout.resultGraphicViewTopMinSpacing) + } else { + rectangleImageView.image = BitnagilGraphic.onboardingRectangle + rectangleHeightConstraint?.update(offset: Layout.rectangleImageViewHeight) + resultGraphicViewTopConstraint?.update(offset: Layout.resultGraphicViewTopSpacing) + } + + [timeResultView, feelingResultStackView, outdoorResultStackView].forEach { resultStackView.addArrangedSubview($0) } } @@ -296,6 +326,7 @@ final class OnboardingResultViewController: BaseViewController