-
Notifications
You must be signed in to change notification settings - Fork 1
[FEAT] 2.0 홈화면 컬렉션뷰 스크롤 인터렉션, 셀 UI 2.0 업데이트 (+Button, Image 메소드 구현) (#119) #128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
SpotTagType, SpotTagButton, UIImage+
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the SpotList screen for version 2.0 by enhancing the collection view scroll interaction and refreshing the cell UI components (e.g. buttons, images, and tags) while adding new extension methods.
- Implemented a custom scroll snapping behavior via UIScrollViewDelegate.
- Updated cell UI by replacing old matching rate views with new elements (titleLabel, acornCountButton, tagStackView, findCourseButton).
- Adjusted sizing constants and introduced a custom collection view flow layout to support the new design.
Reviewed Changes
Copilot reviewed 13 out of 16 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| SpotListViewController.swift | Added scroll snapping behavior and updated header/footer sizes using updated sizing constants. |
| SpotListView.swift | Replaced default layout with a custom flow layout and updated background colors/insets. |
| SpotListCollectionViewFlowLayout.swift | Introduced a custom flow layout to support scaling and fading of off-center cells. |
| SpotTagButton.swift | Implemented a new UIButton subclass with fixed layout and style for tag representation. |
| SkeletonView.swift | Updated constraints to reflect new sizing using itemMaxWidth/itemMaxHeight and itemMinHeight. |
| SpotListCollectionViewHeader.swift | Modified layout and text for the header to match the new design. |
| SpotListCollectionViewCell.swift | Redesigned cell layout by removing legacy matching rate views and adding new UI elements. |
| SpotTagType.swift | Updated tag type enum to support new tag formats. |
| SpotListItemSizeType.swift | Updated size constants to reflect new design measurements. |
| ScreenUtils.swift | Adjusted figmaHeight constant for screen ratio calculations. |
| StringLiterals.swift | Updated and added new string literals for the revised UI text. |
| UIImage+.swift | Added a new image resize extension. |
| UIButton+.swift | Extended UIButton with a new method for applying a glassmorphism background. |
Files not reviewed (3)
- ACON-iOS/ACON-iOS.xcodeproj/project.pbxproj: Language not supported
- ACON-iOS/ACON-iOS/Global/Resources/Assets.xcassets/Colors/tag_local.colorset/Contents.json: Language not supported
- ACON-iOS/ACON-iOS/Global/Resources/Assets.xcassets/Colors/tag_new.colorset/Contents.json: Language not supported
Comments suppressed due to low confidence (2)
ACON-iOS/ACON-iOS/Presentation/SpotList/Type/SpotListItemSizeType.swift:16
- [nitpick] Using a negative value for minimumLineSpacing is unconventional and might lead to unexpected layout behavior; please double-check that this value is intentional and aligns with the design requirements.
case minimumLineSpacing: return -20
ACON-iOS/ACON-iOS/Presentation/SpotList/View/Cell/SpotListCollectionViewCell.swift:125
- [nitpick] Reusing the 'matchingRate' property to set the acorn count can be confusing; consider renaming this variable or using a dedicated property to more clearly represent its purpose.
if let acornCount = spot.matchingRate {
cirtuare
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
굿굿굿 최고다 ~~
글모랑 버튼 관련해서 제 다음 피알에서 추상화를 잔뜩 해놔서 함 봐주세요!! (언제 올라갈지 모르지만,, ㅠㅠ,)
| let acorn: UIImage = .icAcornLine.resize(to: .init(width: 24, height: 24)) | ||
| config.image = acorn |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐿️
config.preferredSymbolConfigurationForImage 로도 가능할 것 같은데 한 번 해보시겠어요?!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 메소드는 SFSymbols만 가능한 것 같아요..ㅜㅜ 아래처럼 임의로 40 넣어서도 해 봤는데 변화가 없네요..
config.preferredSymbolConfigurationForImage = .init(pointSize: 40)
config.image = .icAcornLine
Merge branch 'develop' into feature/#119
🐿️ Pull Requests
🪵 작업 브랜치
🥔 작업 내용
📸 스크린샷
💥 To be sure
🌰 Resolve issue