- ํ๋ก์ ํธ ์๊ฐ
- ํ๋ก์ ํธ ๊ตฌ์กฐ
- ์คํ ํ๋ฉด
- ํธ๋ฌ๋ธ ์ํ
- ์ถํ ๊ฐ์ ์ฌํญ
- ์ฐธ๊ณ ๋งํฌ
- ๊ธฐ๊ฐ: 2023.05.18 ~ 2023.05.30
- ์ฃผ์ ๋ด์ฉ: ์บ๋ฆฐ๋๋ฅผ ํตํด ์๋จ์ ๋ฑ๋ก, ํ์ธ, ์์ , ์ญ์ ํ ์ ์๋ ์ฑ
- ์คํ ๋ฆฌ๋ณด๋, ๋์์ธ ์์์ ๊ฐ์ง๊ณ ํผ์ ์งํํ ์ฒซ ๊ฐ์ธ ํ๋ก์ ํธ
- ์คํ๋์ / ์บ๋ฆฐ๋ / ์ผ๋ณ ์์ธ / ๋ฉ๋ด ์์ธ / ๋ฉ๋ด ์์ ยท์ญ์ / ๋ฆฌ์คํธ ๋ฑ์ ํ๋ฉด์ผ๋ก ๊ตฌ์ฑ๋์ด ์์
- ๊ธฐ์ ์คํ:
Swift
,UIKit
,GitHub
,Figma
- ์ฌ์ฉํ Skill, ์ง์, ๋ฐฐ์ด ์
- AutoLayout, CollectionView, StackView, CoreData, Delegate-Protocol ํจํด ์ฌ์ฉ
- ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ด ๊ธฐ๋ณธ ์ปดํฌ๋ํธ๋ฅผ ์ต๋ํ ํ์ฉ
- UIView์ animation์ ์ ์ฉํ์ฌ ๊ฐ๋จํ ์คํ๋์ ๋ทฐ ๊ตฌํ
- ๊ธฐ๋ฅ๋ช ์ธ์์ ๊ธฐ๋ฅ์ ์กด์ฌํ๋ ๋์์ธ ์์์ ์๋ ํ๋ฉด์ ์ง์ ์ค๊ณยท๋์์ธํ์ฌ ๊ฐ๋ฐํจ(๋ฉ๋ด ์์ธ, ๋ฉ๋ด ์์ ยท์ญ์ ํ๋ฉด)
- GitHub์ Issue, Project์ SwiftLint๋ฅผ ์ฌ์ฉํด ๋ณด๋ฉฐ ํ์ ๋๊ตฌ์ ์ฌ์ฉ๋ฐฉ๋ฒ ์์ง
- AutoLayout, CollectionView, StackView, CoreData, Delegate-Protocol ํจํด ์ฌ์ฉ
ํ์ผ ํธ๋ฆฌ ๋ณด๊ธฐ (ํด๋ฆญ)
โโโ MenuApp
โย ย โโโ FoodMO+CoreDataClass.swift
โย ย โโโ FoodMO+CoreDataProperties.swift
โย ย โโโ LikeDayMO+CoreDataClass.swift
โย ย โโโ LikeDayMO+CoreDataProperties.swift
โย ย โโโ MenuApp
โย ย โย ย โโโ Controller
โย ย โย ย โย ย โโโ HalfSizePresentationController.swift
โย ย โย ย โย ย โโโ MenuTabBarController.swift
โย ย โย ย โย ย โโโ ViewController
โย ย โย ย โย ย โโโ Calendar
โย ย โย ย โย ย โย ย โโโ CalendarPickerViewController.swift
โย ย โย ย โย ย โย ย โโโ CalendarViewController.swift
โย ย โย ย โย ย โโโ Detail
โย ย โย ย โย ย โย ย โโโ AddMenuViewController.swift
โย ย โย ย โย ย โย ย โโโ DayDetailViewController.swift
โย ย โย ย โย ย โย ย โโโ MenuDetailViewController.swift
โย ย โย ย โย ย โโโ Launch
โย ย โย ย โย ย โย ย โโโ LaunchViewController.swift
โย ย โย ย โย ย โโโ List
โย ย โย ย โย ย โย ย โโโ ListViewController.swift
โย ย โย ย โย ย โโโ PushAlert
โย ย โย ย โย ย โโโ PushAlertViewController.swift
โย ย โย ย โโโ Extension
โย ย โย ย โย ย โโโ DateFormatter+Extension.swift
โย ย โย ย โย ย โโโ UIButton+Extension.swift
โย ย โย ย โย ย โโโ UICollectionReusableView+Extension.swift
โย ย โย ย โย ย โโโ UICollectionView+Extension.swift
โย ย โย ย โย ย โโโ UILabel+Extension.swift
โย ย โย ย โย ย โโโ UITabBarController+Extension.swift
โย ย โย ย โย ย โโโ UIView+Extension.swift
โย ย โย ย โย ย โโโ UNUserNotificationCenter+Extension.swift
โย ย โย ย โโโ Model
โย ย โย ย โย ย โโโ Calendar
โย ย โย ย โย ย โย ย โโโ CalendarDateFormat.swift
โย ย โย ย โย ย โย ย โโโ DateProvider
โย ย โย ย โย ย โย ย โย ย โโโ Interface
โย ย โย ย โย ย โย ย โย ย โย ย โโโ DateProvidable.swift
โย ย โย ย โย ย โย ย โย ย โโโ implementation
โย ย โย ย โย ย โย ย โย ย โโโ DateProvider.swift
โย ย โย ย โย ย โย ย โโโ Day.swift
โย ย โย ย โย ย โย ย โโโ LikeDay.swift
โย ย โย ย โย ย โย ย โโโ MenuCalendar.swift
โย ย โย ย โย ย โย ย โโโ MonthMetadata.swift
โย ย โย ย โย ย โโโ CoreData
โย ย โย ย โย ย โย ย โโโ FoodCoreDataManager.swift
โย ย โย ย โย ย โย ย โโโ LikeDayCoreDataManager.swift
โย ย โย ย โย ย โย ย โโโ Model.xcdatamodeld
โย ย โย ย โย ย โย ย โโโ Model.xcdatamodel
โย ย โย ย โย ย โย ย โโโ contents
โย ย โย ย โย ย โโโ Error
โย ย โย ย โย ย โย ย โโโ CalendarDataError.swift
โย ย โย ย โย ย โโโ Menu
โย ย โย ย โย ย โย ย โโโ Food.swift
โย ย โย ย โย ย โโโ MenuAlert
โย ย โย ย โย ย โย ย โโโ AlertKind.swift
โย ย โย ย โย ย โย ย โโโ Implementation
โย ย โย ย โย ย โย ย โย ย โโโ MenuReadyAlert.swift
โย ย โย ย โย ย โย ย โย ย โโโ MenuStartAlert.swift
โย ย โย ย โย ย โย ย โโโ Interface
โย ย โย ย โย ย โย ย โโโ AlertSendable.swift
โย ย โย ย โย ย โโโ ViewCategory.swift
โย ย โย ย โโโ View
โย ย โย ย โโโ Calendar
โย ย โย ย โย ย โโโ CalendarCollectionViewCell.swift
โย ย โย ย โย ย โโโ CalendarTitleStackView.swift
โย ย โย ย โย ย โโโ CircleView.swift
โย ย โย ย โย ย โโโ WeekStackView.swift
โย ย โย ย โโโ Detail
โย ย โย ย โย ย โโโ ButtonStackView.swift
โย ย โย ย โย ย โโโ DetailTitleStackView.swift
โย ย โย ย โย ย โโโ MenuListCell.swift
โย ย โย ย โย ย โโโ MenuListCellView.swift
โย ย โย ย โย ย โโโ PopupView.swift
โย ย โย ย โโโ List
โย ย โย ย โย ย โโโ LikeListCell.swift
โย ย โย ย โโโ PushAlert
โย ย โย ย โย ย โโโ PushAlertCell.swift
โย ย โย ย โโโ RoundedStackView.swift
โย ย โโโ MenuAppTests
โย ย โโโ CoreDataTests.swift
โย ย โโโ MenuAppTests.swift
โโโ README.md
์ด๊ธฐ ํ๋ฉด ํธ์์๋ฆผ ๊ถํ์์ฒญ |
๋ฉ๋ด์ถ๊ฐ ํ๋ฉด | ๋ฉ๋ด์์ ํ๋ฉด |
---|---|---|
![]() |
![]() |
![]() |
๋ฉ๋ด์ญ์ ํ๋ฉด | ์ ์ฅ๋ ๋ ์ง ๋ฆฌ์คํธ | ์๋ฆผ์ค์ ํ๋ฉด |
---|---|---|
![]() |
![]() |
![]() |
๋์์ธ ์์์ ๋ง์ถ์ด Navigation bar๋ฅผ ๊ตฌํํ๋ ค๊ณ ํ์์ผ๋, Navigaion bar์ height๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ UINavigationBar
์ height์ ๋ค๋ฆ
![](https://private-user-images.githubusercontent.com/71758542/257673375-6db4ad28-0e0d-4dd5-b5c4-2a56814127be.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODYxNDMsIm5iZiI6MTczOTE4NTg0MywicGF0aCI6Ii83MTc1ODU0Mi8yNTc2NzMzNzUtNmRiNGFkMjgtMGUwZC00ZGQ1LWI1YzQtMmE1NjgxNDEyN2JlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDExMTA0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5NGRlYWQzYzBlNmJkN2NmZWQzNTVkZGQ5NjVkZWIyMWNmYmI4MmFiYjU2OWU5ODFjYmM5YjUyMzQ1YTNhYTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.PA_W-Cku0CxSca4-TQyfN_qrKimBLS8w82QFVkbBvig)
iOS 11 ์ดํ๋ถํฐ sizeThatFits(_:)
๋ฉ์๋๋ฅผ ํตํ ๋ด๋น๊ฒ์ด์
๋ฐ ๋์ด ์กฐ์ ์ด ์ ํ๋์๊ณ ์ด๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๋ค์ํ ๋ฐฉ๋ฒ์ ๊ณ ์ํด ๋ณด์์
1. Navigation Bar ๋ค์ ๋์ผํ ์์์ UIView๋ฅผ ๋ฐฐ์นํ๊ธฐ
2. largeTitleDisplayMode ์ฌ์ฉํ๊ธฐ
3. Collection View, Stack View ๋ฑ UIView๋ฅผ ์ฌ์ฉํ์ฌ Navigation Bar ์์ญ์ ์ปค์คํ
ํ๊ธฐ
4. Prompt๋ฅผ ์ถ๊ฐํ๊ธฐ
5. SafeAreaInset์ ์ถ๊ฐํ๊ธฐ
6. ์ปค์คํ
ํ์ง ์์ ์ํ์ Navigation Bar ์ฌ์ฉํ๊ธฐ
๋์์ธ ์์์ ๋์ด๋ฅผ ๋ถ์ํ ๊ฒฐ๊ณผ, Android์ Material Design์ ์๋จ ์ฑ ๋ฐ์ ๋์ด์ ๋์ผํจ์ ํ์ธ, ๋์์ด๋๊ฐ ๋์์ธ ์ iOS ๋ด๋น๊ฒ์ด์ ๋ฐ์ ๊ธฐ๋ณธ ๋์ด๋ฅผ ๊ณ ๋ คํ์ง ๋ชปํจ์ ์ธ์งํ์์
![](https://private-user-images.githubusercontent.com/71758542/257679727-f40bceba-c11e-4c5f-b60e-fcb48b0ea163.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxODYxNDMsIm5iZiI6MTczOTE4NTg0MywicGF0aCI6Ii83MTc1ODU0Mi8yNTc2Nzk3MjctZjQwYmNlYmEtYzExZS00YzVmLWI2MGUtZmNiNDhiMGVhMTYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEwVDExMTA0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY2MmVmODg3ODVkMTdlYTIxZmU4ZTE3NmM2ZWJkY2I4NGVhYmRiMWEyMDEzYzBjNTk5NzZlMjY2YWNjMzNlOTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1ad693vml85Xw85tdp73BW7rumamX4wlKDj1UueQd50)
์ฌ์ฉ์์ ๊ด์ ์์ ๊ณ ๋ คํ ๋ ์ฑ์ ์ฌ์ฉํ๋ฉฐ ์๋ค๋ฅธ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง, ์ต์ํ๊ฒ ์ฌ์ฉํด ์ค๋ ๊ตฌ์กฐ๋ฅผ ๊ตณ์ด ๋ฐ๊พธ๋ ๊ฒ์ ์ฌ์ฉ์ ๊ฒฝํ(UX)์ ์ ํดํ๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆผ
์์ ๋ฐฉ๋ฒ ์ค ์ต์ข ์ ์ผ๋ก ์ปค์คํ ํ์ง ์์ ์ํ์ Navigation Bar๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์
- lottie๋ฅผ ์ฌ์ฉ์ฌ ์คํ๋์ ํ๋ฉด ๊ฐ์
- Apple์์ ์ ๊ณตํ๋ Human Interface Guidlines๋ฅผ ์ฐธ๊ณ ํ์ฌ UI ๊ฐ์
- ์บ๋ฆฐ๋๊ฐ ์ข์ฐ๋ก ์คํฌ๋กค๋๋ ๊ฒฝ์ฐ ์์ฐ์ค๋ฝ๊ฒ ์ด์ ยท๋ค์๋ฌ์ด ๋ฏธ๋ฆฌ ๋ณด์ด๋๋ก ๊ฐ์
- ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋ ์ ๊ฑฐ ๋ฐ ์ปจ๋ฒค์ ํต์ผ
- ๋ฉ๋ด ์ญ์ ์ ์ฌ์ฉ์์๊ฒ ๋ฉ๋ด ์ญ์ ์ ๋ํ ์ฌํ์ธ์ ์์ฒญํ๋ ๋ก์ง ์ถ๊ฐ
- ์์ฌ ์ค๋น ๋ฐ ์์ ์๋ฆผ์ ์๊ฐ์ ์ง์ ํ ์ ์๋ ๊ธฐ๋ฅ ์ถ๊ฐ
- Flow Layout -> Compositional Layout์ผ๋ก ๊ฐ์