ios16 [HIG] Navigation Bar ๐งญ Human Interface Guidelines์ ๋ํ ํด์๊ณผ ์ฃผ๊ด์ ์ธ ์ฌ๋ก ๋ถ์์ ์ถ๊ฐํ ๊ธ์ ๋๋ค. Navigation Bar๊ฐ ๋ญ๋ฐ โ Navigation Bars - Bars - iOS - Human Interface Guidelines - Apple Developer Navigation Bars A navigation bar appears at the top of an app screen, below the status bar, and enables navigation through a series of hierarchical screens. When a new screen is displayed, a back button, often labeled with the title of the prev.. 2022. 5. 31. [iOS] ์ปดํฌ๋ํธ๋ฅผ ์ฝ๋๋ฒ ์ด์ค, ์คํ ๋ฆฌ๋ณด๋์์ ๋๋ค ์ธ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ๐ฏ Component ๐ญ ์ ํ๋จ์ ๋ฒํผ์ด ๋ง์ ๋ทฐ์์ ์ฌ์ฌ์ฉ๋๊ณ ์์ด์ ์ปดํฌ๋ํธํ ํ์ต๋๋ค ์ด๊ธฐํํ ๋ setLayout์์ width์ height๋ฅผ ์ก์์คฌ๊ตฌ, centerX๋ง ์ก์์ฃผ๋ฉด ๋ฐ๋ก ์ ์ฉ๋ ์ ์๋๋ก ํ์ต๋๋ค. ๊ทธ ์ธ์ ๋ฒํผ UI์ title, ํ์ฑ·๋นํ์ฑํ ์ํ ๋ฑ์ setUI(.type), setTitle, setAble ๋ฑ์ ํจ์๋ก ์ค์ ํ ์ ์๋๋ก ํ์ต๋๋ค. ๋ฌธ์ ๐จ ์ ๋ ์ฝ๋๋ฒ ์ด์ค๋ก ๋ทฐ๋ฅผ ์งฐ๊ธฐ ๋๋ฌธ์ BottomButton ์ด๋ผ๋ ํด๋์ค๋ช ์ผ๋ก ์ฌ์ฉํ๋๋ฐ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฌ์ฉํ๋ ํ์์ ์ด๊ฑธ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.. ํด๊ฒฐ ๋ฐฉ๋ฒ๐ก ๋ฐฉ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ต์ฅํ ๊ฐ๋จํ์ด๋๋ค ! ๋ณดํต ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ฃ์ด์ฃผ๋ required init์๋ ์ด๊ธฐํ ํจ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋น class BottomB.. 2022. 5. 30. [HIG] Onboarding ๐ซ Human Interface Guidelines ์๋ฌธ ํด์๊ณผ ํจ๊ป ์ฌ๋ก ๋ถ์์ ์ถ๊ฐํด์ ์์ฑํ ๊ธ์ ๋๋ค. ๐ซ ์จ๋ณด๋ฉ์ ์๋ก์ด ์ฌ์ฉ์์ ๋ค์ ๋์์ค๋ ์ฌ์ฉ์๋ฅผ ํ์ํ๊ธฐ ์ํ ์๋จ์ ๋๋ค. ๐ Human Interface Guidelines ๋น ๋ฅด๊ณ , ์ฌ๋ฐ๊ณ , ์๋น์ค์ ๋ํ ์ค๋ช ์ ์ฃผ๋ฉฐ, ์ ํ์ ์ผ๋ก ์ ๊ณต๋๋ ์จ๋ณด๋ฉ์ ์ฌ๋๋ค์ด ๋ฐฉํด๋ฐ์ง ์๊ณ ์ฑ์ ์ต๋ํ ํ์ฉํ๋๋ฐ์ ๋์์ด ๋ ์ ์์ต๋๋ค. Onboarding - App Architecture - iOS - Human Interface Guidelines - Apple Developer Onboarding Onboarding lets you welcome new users and reconnect with returning ones. An optional onbo.. 2022. 5. 20. [iOS] RxDataSource ๐ก ๐ก ์ผ์ฌ์ฐจ๊ฒ Rx๋ก ์ปฌ๋ ์ ๋ทฐ/ํ ์ด๋ธ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋๋ฐ .. ๊ฐ์๊ธฐ .. ์น์ ์ด ํ์ํ๋ค..? ๊ทธ๋ผ RxDataSource๋ฅผ ์ฐ์ธ์.. RxDataSource๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ์ด์ โ Rx๋ฅผ ํตํด collectionView๋ฅผ ๋ฐ์ธ๋ฉํด์ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค .. ์น์ ์ด ํ๋์ธ ๊ฒฝ์ฐ์๋ RxSwift , RxCocoa dataSource ๋ง์ผ๋ก๋ ์ถฉ๋ถํ ์ฌ์ฉํ ์ ์๋๋ฐ, ์น์ ์ด ์ฌ๋ฌ๊ฐ๊ฐ ๋๋ ๊ฒฝ์ฐ์๋ ๊ตฌํ์ด ์กฐ๊ธ ์ด๋ ต์ต๋๋ค. ์ด๋ฐ ๊ฒฝ์ฐ RxDataSource๋ฅผ ํตํด ์ฌ๋ฌ ์น์ ์ ์ฌ๋ฌ ์์ดํ ์ ๋ฃ์ด ๊ตฌํํ ์ ์์ต๋๋ค. GitHub - RxSwiftCommunity/RxDataSources: UITableView and UICollectionView Data Sources for RxSwift (sections, .. 2022. 5. 17. [HIG] ๐ง Tab Bars HIG์์ ๋งํ๋ Tab Bars ํญ๋ฐ๋ ํ๋ฉด์ ํ๋จ์ ๋ฑ์ฅํ์ฌ, ์ฌ์ฉ์์๊ฒ ์ ๋ณด์ ์ข ๋ฅ๋ ์ฑ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ดํด์ํต๋๋ค. ํญ์ ํตํด ๊ฐ ์น์ ๋ด์์ ํ์ฌ ์ํ๋ฅผ ์ ์งํ๋ฉด์ ์ฑ์ ๊ฐ์ฅ ์์ ๋ ๋ฒจ ์น์ ๊ฐ์ ๋น ๋ฅด๊ฒ ์ ํํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ iOS์ ํญ๋ฐ๋ ๋ฐํฌ๋ช ํฉ๋๋ค. ์คํฌ๋กค ๋๋ ๋ทฐ์์์ ํญ๋ฐ๋ ์ปจํ ์ธ ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๋ฐํฌ๋ช ํ๊ฒ ๋ํ๋ด์ ๋ค์ ์ปจํ ์ธ ๊ฐ ๋ณด์ด๋๋ก ํ๊ณ , ์คํฌ๋กค์ ๋ค ํด์ ๋์ด์ ์ปจํ ์ธ ๊ฐ ์๋ ์ํ์์๋ ๋ฐฐ๊ฒฝ์ ์์ ์ ๋ค์ ์๋ฌด๊ฒ๋ ๋น์ถฐ๋ณด์ด์ง ์๋๋ก ํฉ๋๋ค. ๋ํ ํค๋ณด๋๊ฐ ์ฌ๋ผ์ฌ ๋๋ ์๋์ผ๋ก ์จ๊น์ฒ๋ฆฌ๋ฉ๋๋ค. ๋๋ฐ์ด์ค์ ํฌ๊ธฐ๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ํ์๋๋ ํญ์ ์๋ ์ด ํญ์ ์๋ณด๋ค ์ ์ ์ ์์ต๋๋ค. ๊ฐ๋ก์์ ํ์๋๋ ํญ์ ์๊ฐ ์ ํ๋๋ ๊ฒฝ์ฐ, ์๋ฆฐ ํญ์ ์ถ๊ฐ ํญ์ด ๋์ด ๋ณ๋์ .. 2022. 4. 29. [iOS] Haptic ์ฌ์ฉ๋ฒ๐ Haptic์ ๋ฃ๊ณ ์ถ๋ค ์ฌ์ฉ์๊ฐ ๋ฒํผ์ ๋๋ ์๋ ๋๋ ๋ค๋๊ฒ ์ธ์ง๋๋๋ก ํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ํ ํฑ Haptic์ด ์์ด๋๋ค ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ์ ๋ฆฌํด๋ณด๋ ค ํฉ๋๋ค. ๋จผ์ Haptic์ ์ฌ์ฉํ๊ธฐ ์ํด AVFoundation์ด๋ผ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ๊ฒ๋๋ค. ๐ AVFoundation iOS, tvOS, macOS๋ฅผ ์ํ ๋ฏธ๋์ด ํ๋ ์์ํฌ ์ด ํ๋ ์์ํฌ๋ฅผ ํตํด ๋ฏธ๋์ด ์บก์ณ, ํธ์ง ๋ฐ low-level ์ฒ๋ฆฌ ๋ฑ ๋ค์ํ ๋ฏธ๋์ด ์ฒ๋ฆฌ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์ฃผ๋ก ๋ฏธ๋์ด ์ฌ์ ๊ธฐ๋ฅ์ ๋ง์ด ์ฌ์ฉ๋๋ค๊ณ ํฉ๋๋ค. Apple Developer Documentation ๐ ์ํ๋ ํ ํฑ ๋ฃ๊ธฐ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ํตํด ์์ ๋ณด์ด๋ ๊ฒ๊ณผ ๊ฐ์ด UI๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค. ๋ฒํผ์ ๋๋ ์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ํ ํฑ์ ๋๋ ์ ์๋๋ก ํ์ต๋๋ค. AVFound.. 2022. 4. 23. [iOS] Diffable Datasourceโ Diffable Datasource๊ฐ ๋ญ๋? ๊ณต์๋ฌธ์ ํด์ ๐ UICollectionViewDiffableDataSource ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ collectionView์ cell์ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ์ฒด @MainActor class UICollectionViewDiffableDataSource : NSObject where SectionIdentifierType : Hashable, ItemIdentifierType : Hashable collection view์ ๋ฐ์ดํฐ์ UI ์ ๋ฐ์ดํธ ๊ด๋ฆฌ๋ฅผ ๋ ๊ฐ๋จํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ณตํฉ๋๋ค. ๋ํ ๊ธฐ์กด์ UICollectionViewDataSource์ ํ๋กํ ์ฝ์ ๋ฐ๋ฅด๊ณ ์๊ธฐ ๋๋ฌธ์ ํด๋น ํ๋กํ ์ฝ์ ๋ฉ์๋๋ฅผ ์ ๋ถ ์คํํ ์ ์์ต๋๋ค. collecti.. 2022. 3. 18. [iOS] Notification Center ๐ก Notification Center์ด๋? ํน์ ์ด๋ฒคํธ ๋ฐ์์, ํด๋น ์ด๋ฒคํธ์ ๋ฐ์ ์ฌ๋ถ๋ฅผ observe ํ๊ฒ ๋ค๊ณ ๋ฑ๋กํ ๋ชจ๋ observer์๊ฒ ์ ๋ฌํด์ฃผ๋ ๊ฐ์ฒด ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊นโ ์ผ๋๋ค ๋๋ ๋ค๋๋ค ํต์ ์ด ํ์ํ ๊ฒฝ์ฐ ์ฑ ๋ด์์ ๋ช ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ์์ฉ์ด ํ์ํ ๊ฒฝ์ฐ ํผ์ด๋ผ๋ ์ด๋ฆ์ notification์ ๊ด์ฐฐํ๊ณ ์๋ FirstVC์๊ฒ ํด๋น noti๊ฐ ์ ๋ฌ๋ฉ๋๋ค! SecondVC์์ dismiss completion์ ํด๋น ํผ์ด๋ผ๋ ์ด๋ฆ์ notification ์ post ํด์ฃผ๋ฉด FirstVC์์ ํผ์ด๋ผ๋ ์ด๋ฆ์ notification ์ ๊ด์ฐฐํ๊ฒ ๋ค๊ณ addObserve ํ๊ณ ex) ํ๋ฉด ์ ํ ํ pop ๋๋ dismissํ ๋ ๋์์จ VC์ ์ํ ๋ฌด์ธ๊ฐ๋ฅผ ์คํํด์ผ ํ๋.. 2022. 3. 14. ์ด์ 1 2 ๋ค์