iOS7 [iOS] ํธ์์๋ฆผ ๋ฐ์์ ์ฒ๋ฆฌํ๊ธฐ ํธ์์๋ฆผ์ ํตํด ์ฑ์ ๋ค์ด์ค๋ ๊ฒฝ์ฐ๋ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋ ์ ์์ด๋๋ค ์ฑ์ด ์์ ํ ์ข ๋ฃ๋ ์ํ inactive/active/background ์ํ 1๏ธโฃ ์ฑ์ด ์์ ํ ์ข ๋ฃ๋ ์ํ์์ ํธ์์๋ฆผ์ ํตํด ์ฑ์ ๋ค์ด์ค๋ ๊ฒฝ์ฐ SceneDelegate์ willConnectTo์์ ์ฒ๋ฆฌ class SceneDelegate: UIResponder, UIWindowSceneDelegate { ... func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { ... // ์ฑ ์ข ๋ฃ ์ํ์์ ํธ์์๋ฆผ์ ํตํด ์ฑ์ ์ ์ํ๋ ๊ฒฝ์ฐ if let notificatio.. 2022. 10. 12. [iOS] Compositional Layout ๐โ๏ธ UICollectionViewCompositionalLayout์ด๋? compositionalLayout์ collectionView layout์ ํ ์ข ๋ฅ์ ๋๋น ๊ฐ๊ฐ์ ์์ ๊ตฌ์ฑ๋ค์ด ๋ชจ์ฌ์ ์ ์ฒด ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ผ๋ก, ๊ธฐ์กด์ ์ปฌ๋ ์ ๋ทฐ ๋ ์ด์์ ๊ตฌํ์ ๋นํด ์ข ๋ ๋ค์ํ ๊ตฌ์ฑ์ ๋ ์ด์์์ ๊ตฌํํ ์ ์์ต๋๋ค. section + group + item ๋ณ๋ก ๋ฌถ์ด์ ๋ ์ด์์์ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ section ๋ณ๋ก ๋ค๋ฅธ ๋ ์ด์์์ ๊ตฌ์ฑํ๊ธฐ๊ฐ ์ฝ๋ค๋ ์ ์ด ์ฅ์ ์ ๋๋ค. ๊ฐ์ฅ ์์ ๋จ์์ item๋ถํฐ item์ ๋ฌถ์ด๋ group, ๊ทธ group์ ๋ฌถ๋ section ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. item, group์ ๊ฐ ์ฌ์ด์ฆ๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ item์ group์ ์์๋ก, group์ section์ ์์๋ก ๋ฃ์ด์ค.. 2022. 9. 5. [iOS] ์ปดํฌ๋ํธ๋ฅผ ์ฝ๋๋ฒ ์ด์ค, ์คํ ๋ฆฌ๋ณด๋์์ ๋๋ค ์ธ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ๐ฏ Component ๐ญ ์ ํ๋จ์ ๋ฒํผ์ด ๋ง์ ๋ทฐ์์ ์ฌ์ฌ์ฉ๋๊ณ ์์ด์ ์ปดํฌ๋ํธํ ํ์ต๋๋ค ์ด๊ธฐํํ ๋ setLayout์์ width์ height๋ฅผ ์ก์์คฌ๊ตฌ, centerX๋ง ์ก์์ฃผ๋ฉด ๋ฐ๋ก ์ ์ฉ๋ ์ ์๋๋ก ํ์ต๋๋ค. ๊ทธ ์ธ์ ๋ฒํผ UI์ title, ํ์ฑ·๋นํ์ฑํ ์ํ ๋ฑ์ setUI(.type), setTitle, setAble ๋ฑ์ ํจ์๋ก ์ค์ ํ ์ ์๋๋ก ํ์ต๋๋ค. ๋ฌธ์ ๐จ ์ ๋ ์ฝ๋๋ฒ ์ด์ค๋ก ๋ทฐ๋ฅผ ์งฐ๊ธฐ ๋๋ฌธ์ BottomButton ์ด๋ผ๋ ํด๋์ค๋ช ์ผ๋ก ์ฌ์ฉํ๋๋ฐ ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฌ์ฉํ๋ ํ์์ ์ด๊ฑธ ์ด๋ป๊ฒ ์ฌ์ฉํ๋ ํ๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.. ํด๊ฒฐ ๋ฐฉ๋ฒ๐ก ๋ฐฉ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ต์ฅํ ๊ฐ๋จํ์ด๋๋ค ! ๋ณดํต ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ฃ์ด์ฃผ๋ required init์๋ ์ด๊ธฐํ ํจ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋น class BottomB.. 2022. 5. 30. [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. [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 ๋ค์