@@ -14,6 +14,7 @@ final class HomeTasteRecommendView: UIView {
1414
1515 //MARK: - UI Components
1616
17+ private var stackView = UIStackView ( )
1718 private var titleLabel = UILabel ( )
1819 private var subTitleLabel = UILabel ( )
1920 let tasteRecommendCollectionView = UICollectionView ( frame: . zero,
@@ -27,6 +28,8 @@ final class HomeTasteRecommendView: UIView {
2728 super. init ( frame: . zero)
2829
2930 setUI ( )
31+ setHierarchy ( )
32+ setLayout ( )
3033 }
3134
3235 @available ( * , unavailable)
@@ -35,6 +38,10 @@ final class HomeTasteRecommendView: UIView {
3538 }
3639
3740 private func setUI( ) {
41+ stackView. do {
42+ $0. axis = . vertical
43+ }
44+
3845 titleLabel. do {
3946 $0. applyWSSFont ( . headline1, with: StringLiterals . Home. Title. recommend)
4047 $0. textColor = . wssBlack
@@ -43,77 +50,91 @@ final class HomeTasteRecommendView: UIView {
4350 subTitleLabel. do {
4451 $0. applyWSSFont ( . body2, with: StringLiterals . Home. SubTitle. recommend)
4552 $0. textColor = . wssGray200
53+ $0. isHidden = true
4654 }
4755
4856 tasteRecommendCollectionView. do {
4957 $0. showsVerticalScrollIndicator = false
5058 $0. isScrollEnabled = false
59+ $0. isHidden = true
5160 }
5261
5362 tasteRecommendCollectionViewLayout. do {
5463 $0. scrollDirection = . vertical
5564 $0. minimumLineSpacing = 18
5665 $0. minimumInteritemSpacing = 9
57- $0. sectionInset = UIEdgeInsets ( top: 0 , left: 0 , bottom: 40 , right: 0 )
5866 $0. itemSize = CGSize ( width: ( UIScreen . main. bounds. width - 49 ) / 2 , height: 300 )
5967 tasteRecommendCollectionView. setCollectionViewLayout ( $0, animated: false )
6068 }
69+
70+ unregisterView. do {
71+ $0. isHidden = true
72+ }
73+ }
74+
75+ private func setHierarchy( ) {
76+ self . addSubview ( stackView)
77+ stackView. addArrangedSubviews ( titleLabel,
78+ subTitleLabel,
79+ tasteRecommendCollectionView,
80+ unregisterView)
81+ }
82+
83+ private func setLayout( ) {
84+ stackView. snp. makeConstraints {
85+ $0. horizontalEdges. equalToSuperview ( ) . inset ( 20 )
86+ $0. top. equalToSuperview ( )
87+ $0. bottom. equalToSuperview ( ) . inset ( 56 )
88+ }
89+
90+ tasteRecommendCollectionView. snp. makeConstraints {
91+ $0. height. equalTo ( 0 )
92+ }
93+
94+ unregisterView. snp. makeConstraints {
95+ $0. height. equalTo ( 133 )
96+ }
6197 }
6298
6399 //MARK: - Custom Method
64100
65101 func updateView( _ isLogined: Bool , _ isEmpty: Bool ) {
66102 if isLogined {
67103 if isEmpty {
68- self . addSubviews ( titleLabel,
69- unregisterView)
70- titleLabel. snp. makeConstraints {
71- $0. top. equalToSuperview ( )
72- $0. leading. equalToSuperview ( ) . inset ( 20 )
73- }
74- unregisterView. snp. makeConstraints {
75- $0. top. equalTo ( titleLabel. snp. bottom) . offset ( 11 )
76- $0. leading. trailing. equalToSuperview ( ) . inset ( 20 )
77- $0. bottom. equalToSuperview ( ) . inset ( 56 )
78- $0. height. equalTo ( 133 )
104+ unregisterView. isHidden = false
105+ subTitleLabel. isHidden = true
106+ tasteRecommendCollectionView. isHidden = true
107+
108+ stackView. do {
109+ $0. setCustomSpacing ( 11 , after: titleLabel)
79110 }
80- subTitleLabel. removeFromSuperview ( )
81- tasteRecommendCollectionView. removeFromSuperview ( )
82111 } else {
83- self . addSubviews ( titleLabel,
84- subTitleLabel,
85- tasteRecommendCollectionView)
86- titleLabel. snp. makeConstraints {
87- $0. top. equalToSuperview ( )
88- $0. leading. equalToSuperview ( ) . inset ( 20 )
89- }
90- subTitleLabel. snp. makeConstraints {
91- $0. top. equalTo ( titleLabel. snp. bottom) . offset ( 2 )
92- $0. leading. equalTo ( titleLabel. snp. leading)
93- }
112+ subTitleLabel. isHidden = false
113+ tasteRecommendCollectionView. isHidden = false
114+ unregisterView. isHidden = true
94115
95- tasteRecommendCollectionView. snp. makeConstraints {
96- $0. top. equalTo ( subTitleLabel. snp. bottom) . offset ( 20 )
97- $0. leading. trailing. bottom. equalToSuperview ( ) . inset ( 20 )
98- $0. height. equalTo ( 1591 )
116+ stackView. do {
117+ $0. setCustomSpacing ( 2 , after: titleLabel)
118+ $0. setCustomSpacing ( 20 , after: subTitleLabel)
119+ $0. snp. updateConstraints {
120+ $0. bottom. equalToSuperview ( ) . inset ( 40 )
121+ }
99122 }
100- unregisterView. removeFromSuperview ( )
101123 }
102124 } else {
103- self . addSubviews ( titleLabel,
104- unregisterView)
105- titleLabel. snp. makeConstraints {
106- $0. top. equalToSuperview ( )
107- $0. leading. equalToSuperview ( ) . inset ( 20 )
108- }
109- unregisterView. snp. makeConstraints {
110- $0. top. equalTo ( titleLabel. snp. bottom) . offset ( 11 )
111- $0. leading. trailing. equalToSuperview ( ) . inset ( 20 )
112- $0. bottom. equalToSuperview ( ) . inset ( 56 )
113- $0. height. equalTo ( 133 )
125+ unregisterView. isHidden = false
126+ subTitleLabel. isHidden = true
127+ tasteRecommendCollectionView. isHidden = true
128+
129+ stackView. do {
130+ $0. setCustomSpacing ( 11 , after: titleLabel)
114131 }
115- subTitleLabel. removeFromSuperview ( )
116- tasteRecommendCollectionView. removeFromSuperview ( )
132+ }
133+ }
134+
135+ func updateCollectionViewHeight( height: CGFloat ) {
136+ tasteRecommendCollectionView. snp. updateConstraints {
137+ $0. height. equalTo ( height)
117138 }
118139 }
119140}
0 commit comments