From ae4fd340dbbb55c9b7486e76fabc3e776b505a61 Mon Sep 17 00:00:00 2001 From: Yurim Kim Date: Fri, 25 Oct 2024 22:05:58 +0900 Subject: [PATCH] =?UTF-8?q?[Feat]=20#6=20-=20=EC=8A=A4=ED=81=AC=EB=A1=A4?= =?UTF-8?q?=20=EB=90=A0=20=EB=95=8C=20=EB=84=A4=EB=B9=84=EA=B2=8C=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EB=B0=94=20=EC=95=84=EC=9D=B4=ED=85=9C=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Week2/View/AppDetailView.swift | 2 +- .../Week2/View/AppDetailViewController.swift | 30 ++++++++++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/35-seminar/Presentation/Week2/View/AppDetailView.swift b/35-seminar/Presentation/Week2/View/AppDetailView.swift index 5ff4af1..b1092ab 100644 --- a/35-seminar/Presentation/Week2/View/AppDetailView.swift +++ b/35-seminar/Presentation/Week2/View/AppDetailView.swift @@ -29,7 +29,7 @@ class AppDetailView: UIView { private var feedback: Feedback? private let initialFeedback = Feedback(title: "김유림", author: "ISTJ", starCount: 2, authorDate: Date.form(year: 2023, month: 12, day: 20), content: "동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세", developerContent: "안녕하세요, 토스팀입니다. 소중한 의견을 주셔서 너무나 감사합니다.", developerDate: Date.form(year: 2024, month: 5, day: 30)) - private let scrollView = UIScrollView() + let scrollView = UIScrollView() private let contentStackView = UIStackView() // 타이틀뷰 diff --git a/35-seminar/Presentation/Week2/View/AppDetailViewController.swift b/35-seminar/Presentation/Week2/View/AppDetailViewController.swift index ae95646..a3ec4f6 100644 --- a/35-seminar/Presentation/Week2/View/AppDetailViewController.swift +++ b/35-seminar/Presentation/Week2/View/AppDetailViewController.swift @@ -22,10 +22,12 @@ class AppDetailViewController: UIViewController { setNavigationBar() setButtonAction() setStarStackViewGesture() + appDetailView.scrollView.delegate = self } private func setNavigationBar() { let iconImageView = UIImageView() + iconImageView.clipsToBounds = true iconImageView.contentMode = .scaleAspectFit iconImageView.image = .tossIcon iconImageView.layer.cornerRadius = 8 @@ -35,7 +37,18 @@ class AppDetailViewController: UIViewController { $0.size.equalTo(28) } - let rightBarButton = appDetailView.openButton + let rightBarButton = UIButton() + rightBarButton.configureButton(configType: .filled, + title: "열기", + fontSize: 16, + fontWeight: .bold, + cornerStyle: .capsule, + foregroundColor: .white, + backgroundColor: .tintColor) + rightBarButton.snp.makeConstraints { + $0.width.equalTo(72) + $0.height.equalTo(32) + } self.navigationItem.titleView = iconImageView self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: rightBarButton) @@ -84,3 +97,18 @@ extension AppDetailViewController: FeedbackDelegate { appDetailView.dataBind(feedback: feedback) } } + +extension AppDetailViewController: UIScrollViewDelegate { + func scrollViewDidScroll(_ scrollView: UIScrollView) { + let offsetY = scrollView.contentOffset.y + let triggerOffset: CGFloat = 80 + + if offsetY > triggerOffset { + navigationItem.titleView?.isHidden = false + navigationItem.rightBarButtonItem?.isHidden = false + } else { + navigationItem.titleView?.isHidden = true + navigationItem.rightBarButtonItem?.isHidden = true + } + } +}