IOS17 Pinch Gesture ํ์น ์ ์ค์ฒ(Pinch Gesture) ๋ ์๊ฐ๋ฝ์ผ๋ก ํ๋ฉด์ ํ๋ / ์ถ์ํ ๋ ์ฌ์ฉํ๋ ์ด๋ฒคํธ ํ๋ฉด ํ๋ / ์ถ์ ๊ธฐ๋ฅ์ด ํฌํจ๋ ๋ชจ๋ ์ฑ์์ ์ฌ์ฉ ๊ฐ๋ฅ 1. ๋ ์ด์์ ๊ตฌ์ฑ ๋ฐ ์์๋ ๋ณ์ ์ถ๊ฐ viewController์ image View๋ฅผ ์ถ๊ฐํ๊ณ ์ด๊ธฐ ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ๋ค. ์ดํ image View์ ๋ํ ์์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค. 2. ํ์น ์ ์ค์ฒ ๊ตฌํ UIPinchGestureRecognizer ํด๋์ค ์์ pinch๋ฅผ ์ ์ธํ๋ค. ํ์น ์ ์ค์ฒ๊ฐ ์ธ์๋์์ ๋ ์คํํ ๋ฉ์๋๋ doPinch๋ก ์ค์ ํ๋ค. view ๊ฐ์ฒด์ addGestureRecognizer ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ํ์น ์ ์ค์ฒ๋ฅผ ๋ฑ๋กํ๋ค. doPinch ๋ฉ์๋์์ ํ์น ์ ์ค์ฒ๊ฐ ๋ฐ์ํ๋ฉด image View๋ฅผ ํ์น์ scale์ ๋ง๊ฒ ๋ณํํ๋ค. .. 2023. 1. 13. Swipe Gesture ์ค์์ดํ ์ ์ค์ฒ(Swipe Gesture) ํ๋ฉด์์ ์ํ ๋๋ ์์ง swipe๋์์ ๊ฐ์งํ๊ณ , ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ๋ฅผ ํ์(navigation) swipe: ์๊ฐ๋ฝ์ผ๋ก ํ๋ฉด์ ์ํ์ข์ฐ๋ก ๋ฏธ๋ ๋์ 1. ๋ ์ด์์ ๊ตฌ์ฑ ๋ฐ ์์๋ ๋ณ์ ์ถ๊ฐ ์ํ์ข์ฐ ๋ค ๊ฐ์ง ๋ฐฉํฅ์ผ๋ก swipe gesture๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด 4๊ฐ์ image View๋ฅผ ์ถ๊ฐํ๋ค. 4๊ฐ์ image View์ ๋ํ ์์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค. 2. ๋ณ์ ์์ฑ ๋ฐ ์ด๊ธฐ ์ด๋ฏธ์ง ์ค์ ์ํฉ์ ๋ฐ๋ผ ๋ณด์ผ ์ด๋ฏธ์ง๋ค์ ์ด๋ฆ์ ๋ณ์์ ์ ์ฅํด ๋๋ค. viewDidLoad()์์ ๋ทฐ๊ฐ ๋ํ๋ ๋ ๋ณด์ผ ์ด๊ธฐ ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ๋ค. 3. ํ ์ Swipe Gesture ์ค์ setSwipeGesture() ํจ์๋ฅผ ์์ฑํด viewDidLoad()์์ ํธ์ถํ๋ค. ์ํ์ข์ฐ .. 2023. 1. 12. Tap Touch Tap, Touch ํฐ์น๋ ํ๋ฉด์ ๋ง์ง๋ ๋ชจ๋ ํ์, ํญ์ ํ๋ฉด์ ํกํก ๋๋๋ฆฌ๋ ํ์ touch๋ ๋ค ๊ฐ์ง ์ํ๋ฅผ ๊ฐ์ง began์ ํฐ์น๋ฅผ ์์ํ ๋, moved๋ ๋๋๊ทธํด์ ์์ง์ผ ๋, ended๋ ์์ ๋ ๋, canceled๋ ํฐ์น๊ฐ ์ทจ์๋ ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ tap์ toches ์ธํธ ์์ ํฌํจ๋จ 1. ๋ ์ด์์ ๊ตฌ์ฑ ํ์ฌ ์ํ๋ฅผ ๋ํ๋ผ label๊ณผ ํญ๊ณผ ํฐ์น ํ์๋ฅผ ๋ํ๋ผ label ์ถ๊ฐํ๋ค. 2. ์์๋ ๋ณ์ ์ถ๊ฐ 3๊ฐ์ label์ ๋ํ ์์๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค. 3. ํญ, ํฐ์น ๊ธฐ๋ฅ ๊ตฌํ ๊ฐ ํฐ์น ์ํ์ ๋ฐ๋ฅธ ํจ์๋ฅผ ๊ตฌํํ๋ค. ๊ฐ ํจ์์์ ํ์ฌ ๋ฐ์ํ ์ด๋ฒคํธ์ ์ข ๋ฅ๋ฅผ ์ถ๋ ฅํ ํ, ํฐ์น์ ๊ฐ์์ ํญ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. 4. ์๋ฎฌ๋ ์ดํฐ ํ์ธ ํ๋ฉด์ ํญ ํ๋ฉด tapCount๊ฐ ์ฆ๊ฐํ๋ฉฐ, touchC.. 2023. 1. 11. Core Graphics ์ฝ์ด ๊ทธ๋ํฝ์ค (Core Graphics) ์์ดํฐ๊ณผ ์์ดํจ๋์์ 2์ฐจ์ ๊ทธ๋ํฅ์ ๊ทธ๋ฆด ์ ์๋๋ก ์ ๊ณตํ๋ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ํ์ด ์ ๊ณตํ๋ '์ฟผ์ธ (Quarts)'๋ผ๋ ๊ทธ๋ํฝ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ ํฌํจ 1. ๋ ์ด์์ ๊ตฌ์ฑ ๊ทธ๋ฆผ์ ํํํ image View์, ์ด๋ค ๊ทธ๋ฆผ์ ๊ทธ๋ฆด์ง ์ ํํ๋ ๋ฒํผ 4๊ฐ๋ฅผ ์ถ๊ฐํ๋ค. 2. ์์๋ ๋ณ์, ์ก์ ํจ์ ์ถ๊ฐ image View์ ๋ํ ์์๋ ๋ณ์์, ๋ฒํผ 4๊ฐ์ ๋ํ ์ก์ ํจ์๋ฅผ ์ถ๊ฐํ๋ค. 3. ๊ทธ๋ฆผ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ฅ ๊ตฌํ ์ ์ ๊ทธ๋ฆฌ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๊ธฐ์ํ ์ฝํ ์คํธ๋ฅผ ์์ฑํ ํ, ์์ฑ๋ ์ฝํ ์คํธ ์ ๋ณด๋ฅผ ํ๋ํ๋ค. ์ ์ ๊ทธ๋ฆฌ๊ธฐ ์ํด ๊ตต๊ธฐ์ ์์์ ์ ํํ๋ค. ์ปค์๋ฅผ (70, 50)์ผ๋ก ์ด๋ ํ, ์ปค์ ๋ถํฐ (270, 250)๊น์ง ์ ์ ์์ฑํ๋ค. ์์ฑํ ์ ์ ์ฝํ ์คํธ์ .. 2023. 1. 10. ์นด๋ฉ๋ผ์ ํฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฑ 1. ๋ ์ด์์ ๊ตฌ์ฑ ViewController์ ์ด๋ฏธ์ง๋ฅผ ๋ํ๋ผ ImageView์ "์ฌ์ง ์ดฌ์ํ๊ธฐ", "์ฌ์ง ๋ถ๋ฌ์ค๊ธฐ" Button 2๊ฐ๋ฅผ ์ถ๊ฐํ์ฌ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ค. 2. ์์๋ ๋ณ์, ์ก์ ํจ์ ์ถ๊ฐ ImageView์ ๋ํ ์์๋ ๋ณ์์ ๋ ๋ฒํผ์ ๋ํ ์ก์ ํจ์๋ฅผ ์ถ๊ฐํ๋ค. 3. ํค๋ ํ์ผ๊ณผ ๋ธ๋ฆฌ๊ฒ์ดํธ ํ๋กํ ์ฝ ์ถ๊ฐ, ๋ณ์ ์ ์ธ ๋ฏธ๋์ด ํ์ ์ด ์ ์๋ ํค๋ํ์ผ "MobileCoreServices"์ Image Picker Controller๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ๋ธ๋ฆฌ๊ฒ์ดํธ ํ๋กํ ์ฝ์ ์ ์ธํ๋ค. UIImagePickerController์ ์ธ์คํด์ค ๋ณ์์ธ imgPicker๋ฅผ ์์ฑํ๋ค. 4. ๊ธฐ๋ฅ ์ฝ๋ ๊ตฌํ ์ฌ์ง์ดฌ์ ๋ฒํผ์ด ํด๋ฆญ๋๋ฉด, imagePicker์ ์์ค ํ์ ์ camera, ๋ฏธ๋์ด ํ์ ์ publi.. 2023. 1. 6. Movie Player AVPlayer AVPlayer: player ์์ ์ ๊ดํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฒด ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ํ์ผ์ ์ฌ์ํ ๋ ์ฌ์ฉ AVPlayer ๊ฐ์ฒด๋ AVAsset์ ์ ๋ฐ์ ์ธ *playback์ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ playback: ๋ น์, ๋ นํ, ์ฌ์ AVPlayer๊ฐ์ฒด๊ฐ AVPlayerItem์ ์ด์ฉํ๊ณ , AVPlayerItem์ด AVAsset์ ์ฌ์ฉํ๋ ๊ตฌ์กฐ AVPlayer๋ ํ ๋ฒ์ ํ๋์ ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ง ์ฌ์ํ ์ ์์ผ๋ฏ๋ก, ์ฌ๋ฌ ๋ฏธ๋์ด ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์ฌ์ํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ AVQueuePlayer ํด๋์ค ์ฌ์ฉ 1. ๋ ์ด์์ ๊ตฌ์ฑ ์ฑ ๋ด๋ถ ๋น๋์ค ์ฌ์๊ณผ ์ธ๋ถ ๋งํฌ ๋น๋์ค ์ฌ์ 2๊ฐ์ง ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ๊ธฐ ์ํ์ฌ label๊ณผ button์ ์ถ๊ฐํ๋ค. 2. ์ก์ ํจ์ ์ถ๊ฐํ๊ธฐ ๋ ๊ฐ์ ๋ฒํผ์ ๋ํ ์ก์ ํจ์.. 2023. 1. 4. ์ด์ 1 2 3 ๋ค์ ๋ฐ์ํ