๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ381 [UIKit] UITableView UITableView @MainActor protocol UITableViewDataSource ํ ์ด๋ธ ๋ทฐ๋ ๋ฆฌ์คํธ ํํ์ด๋ฉฐ, UIScrollView๋ฅผ ์์๋ฐ์ ์์ง ์คํฌ๋กค์ด ๊ฐ๋ฅํฉ๋๋ค. ํ ์ด๋ธ์ ๊ฐ๋ณ ํญ๋ชฉ์ ๊ตฌ์ฑํ๋ ์ ์ UITableViewCell ๊ฐ์ฒด์ด๋ฉฐ, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ํ์ ๊ทธ๋ฆฝ๋๋ค. ํ ์ด๋ธ ๋ทฐ๋ ๊ฐ๊ฐ ์์ฒด ํ์ด ์๋ 0๊ฐ ์ด์์ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์น์ ์ ํ ์ด๋ธ ๋ทฐ ๋ด์์, ํ์ ์น์ ๋ด์์ ์ธ๋ฑ์ค ๋ฒํธ๋ก ์๋ณ๋ฉ๋๋ค. ์ํ๋ ์น์ ์์ ์น์ Header๋ฅผ ๋ถ์ผ ์ ์์ผ๋ฉฐ, ์ ํ์ ์ผ๋ก ์น์ Footer๋ฅผ ์ ํํ ์ ์์ต๋๋ค. UITableViewCell @MainActor class UITableViewCell : UIView UITableViewCell ๊ฐ์ฒด๋ ๋จ์ผ ํ ์ด๋ธ ํ์ ๋ด์ฉ์ .. 2022. 4. 1. [์๊ณ ๋ฆฌ์ฆ] ์ต๋จ ๊ฒฝ๋ก(Shortest Path) ์ต๋จ ๊ฒฝ๋ก(Shortest Path) ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ฅ ์งง์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธธ ์ฐพ๊ธฐ ๋ฌธ์ ๋ผ๊ณ ๋ ๋ถ๋ฆผ ๊ทธ๋ํ๋ฅผ ์ด์ฉํ์ฌ ํํ ๊ฐ ์ง์ ์ ๋ ธ๋๋ก ํํ ์ง์ ๊ณผ ์ฐ๊ฒฐ๋ ๋๋ก๋ ๊ฐ์ ์ผ๋ก ํํ ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ์ ์ข ๋ฅ ๋จ์ผ ์ถ๋ฐ(single-source) ์ต๋จ ๊ฒฝ๋ก ์ด๋ค ํ๋์ ์ ์ ์์ ์ถ๋ฐํ์ฌ ๋๋จธ์ง ๋ชจ๋ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์ ๋จ์ผ ๋์ฐฉ(single-destination) ์ต๋จ ๊ฒฝ๋ก ๋ชจ๋ ์ ์ ์์ ์ถ๋ฐํ์ฌ ์ด๋ค ํ๋์ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์ ๊ทธ๋ํ ๋ด์ ๊ฐ์ ์ ๋ค์ง์ผ๋ฉด ๋จ์ผ ์ถ๋ฐ ์ต๋จ๊ฑฐ๋ฆฌ ๋ฌธ์ ๋ก ๋ฐ๋ ์ ์์ ๋จ์ผ ์(single-pair) ์ต๋จ ๊ฒฝ๋ก ๋ชจ๋ ์ ์ ์๋ค ์ฌ์ด์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ฃผ์ ์๊ณ ๋ฆฌ์ฆ ๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆ ๋ฒจ๋ง-ํฌ๋(Bellman-Ford-Moo.. 2022. 3. 31. [UIKit] UIView(3) ์๋ธ ํด๋์ฑ ๋ ธํธ UIView ํด๋์ค๋ ์๊ฐ์ ์ฝํ ์ธ ์ ๋๋ถ์ด ์ ์ ์ํธ์์ฉ ์ ๊ณต์ ์ํ ์ค์ํ ์๋ธ ํด๋์ฑ ์ง์ ์ ๋๋ค. view๋ฅผ ์์๋ฐ๋ ๊ฒ์ view๋ฅผ ๊ตฌํํ๊ณ ์ฑ๋ฅ์ ์กฐ์ ํ๊ธฐ ์ํด ๋ ๋ง์ ์์ ๋ค์ด ํ์ํฉ๋๋ค. ๋ฐ๋ผ์ UIViewํด๋์ค๊ฐ ์ ๊ณตํ์ง ์๋ ๊ฒ์ด ์์ ๋๋ง ๊ตฌํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ค๋ฒ๋ผ์ด๋ ํ ํจ์๋ค UIView๋ฅผ ์์๋ฐ์ ๋ ๋ฐ๋์ ์ค๋ฒ๋ผ์ด๋ ํด์ผ ํ๋ ์์์ ๋ฉ์๋๋ค์ด ์๊ณ , ํ์์ ๋ฐ๋ผ ์ค๋ฒ๋ผ์ด๋ ํ ์ ์๋ ๋ฉ์๋๋ค๋ ์์ต๋๋ค. UIView๋ ์ ์ฐํ๊ฒ ์ค์ ๊ฐ๋ฅํ ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ์ปค์คํ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ ํ์ง ์๊ณ ์ ๊ตํ ๋ทฐ ๋์์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค. ๋ค์์ UIView ํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉด ์ค๋ฒ๋ผ์ด๋ ํ ์ ์๋ ๋ฉ์๋ ๋ค์ ๋๋ค. ์ด๊ธฐํ init(frame:): ์ด ๋ฐฉ.. 2022. 3. 30. [์๊ณ ๋ฆฌ์ฆ] ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(Dynamic Programming) ์ปดํจํฐ๋ฅผ ํ์ฉํด๋ ์ด๋ ค์ด ๋ฌธ์ ์ต์ ์ ํด๋ฅผ ๊ตฌํ๊ธฐ์ ์๊ฐ์ด ๋งค์ฐ ๋ง์ด ํ์ํ ๋ฌธ์ ์ต์ ์ ํด๋ฅผ ๊ตฌํ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋งค์ฐ ๋ง์ด ํ์ํ ๋ฌธ์ ์ปดํจํฐ๋ ์ฐ์ฐ ์๋์ ํ๊ณ๊ฐ ์๊ณ , ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ์ฉํ ์ ์๋ ๋ฐ์ดํฐ์ ๊ฐ์๋ ํ์ ์ ์ด๋ผ ๋ง์ ์ ์ฝ ๋ฐ์ โ ์ฐ์ฐ ์๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ต๋ํ์ผ๋ก ํ์ฉํ ์ ์๋ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ ์์ฑ ํ์ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ(Dynamic Programming) ๋์ ๊ณํ๋ฒ ํฐ ๋ฌธ์ ๋ฅผ ์๊ฒ ๋๋๊ณ , ๊ฐ์ ๋ฌธ์ ๋ผ๋ฉด ํ ๋ฒ์ฉ๋ง ํ์ด ๋ฌธ์ ๋ฅผ ํจ์จ์ ์ผ๋ก ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฝ๊ฐ ๋ ์ฌ์ฉํ๋ฉด ์ฐ์ฐ ์๋๋ฅผ ๋น์ฝ์ ์ผ๋ก ์ฆ๊ฐ์ํฌ ์ ์๋ ๋ฐฉ๋ฒ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ์ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง ์ฌ์ฉ ๊ฐ๋ฅ ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก ๋๋ ์ ์๋ค. ์์ ๋ฌธ์ ์์ ๊ตฌํ ์ ๋ต์ ๊ทธ๊ฒ์ .. 2022. 3. 30. [UIKit] UIView(2) View ์์ฑํ๊ธฐ ์ผ๋ฐ์ ์ผ๋ก ์คํ ๋ฆฌ๋ณด๋์ ๋ทฐ๋ฅผ ๋ง๋ค ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก๋ถํฐ ์บ๋ฒ์ค์ ๋์ด๋ค ๋์์ ๋ง๋ญ๋๋ค. ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก๋ ์์ฑํ ์ ์์ต๋๋ค. ๋ทฐ๋ฅผ ์์ฑํ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ฏธ๋์ super ๋ทฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ด๊ธฐ ํฌ๊ธฐ์ ์์น๋ฅผ ์ง์ ํฉ๋๋ค. ๋ค์ ์ฝ๋๋ ๋ทฐ๋ฅผ ์์ฑํ๊ณ super ๋ทฐ์ ์ขํ๊ณ์ ์๋ ์ (10, 10)์ ์ผ์ชฝ ์๋จ ๋ชจ์๋ฆฌ๋ฅผ ๋ฐฐ์นํฉ๋๋ค. let rect = CGRect(x: 10, y: 10, width: 100, height: 100) let myView = UIView(frame: rect) ๋ค๋ฅธ ๋ทฐ์ ํ์ ๋ทฐ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด super ๋ทฐ์์ addSubView(_:) ๋ฉ์๋๋ฅผ ํธ์ถํ์ธ์. ๋ทฐ์ ํ์ ๋ทฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ iOS์์๋ ํ์ ๋ทฐ๊ฐ ์๋ก ๊ฒน์ณ์์ ์ ์์ต๋๋ค. addS.. 2022. 3. 28. [UIKit] UIView(1) View๋ ์ฑ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์์ด๋ฉฐ UIView ํด๋์ค๋ ๋ชจ๋ view์ ๊ณตํต์ ์ธ ๋์์ ์ ์ํฉ๋๋ค. view ๊ฐ์ฒด๋ ์ฌ๊ฐํ ๋ด์์ ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ๊ณ ํด๋น ์ฝํ ์ธ ์์ ๋ชจ๋ ์ํธ์์ฉ์ ์ฒ๋ฆฌํฉ๋๋ค. UIView ํด๋์ค๋ ์ธ์คํด์คํํ๊ณ ๊ณ ์ ๋ ๋ฐฐ๊ฒฝ์์ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์๋ ๊ตฌ์ ํด๋์ค์ ๋๋ค. ๋ ์ ๊ตํ ์ปจํ ์ธ ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ํด์ ์๋ธํด๋์คํํ ์๋ ์์ต๋๋ค. ์ฑ์์ ํํ ๋ณผ ์ ์๋ label, image, button ๋ฐ ๊ธฐํ ์ธํฐํ์ด์ค ์์๋ฅผ ํ์ํ๋ ค๋ฉด ์ง์ ์ ์ํ๊ธฐ๋ณด๋ค๋ UIKit ํ๋ ์์ํฌ์์ ์ ๊ณตํ๋ ๋ทฐ ํ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ธ์. view ๊ฐ์ฒด๋ ์ฑ์ด ์ฌ์ฉ์์ ์ํธ์์ฉํ๋ ์ฃผ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ๊ฐ์ง ์ฑ ์์ด ์์ต๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์์ ๋๋ค. ๊ทธ๋ฆฌ๊ธฐ์ ์ ๋๋ฉ์ด์ ๋ทฐ๋ UI.. 2022. 3. 25. ์ด์ 1 ยทยทยท 58 59 60 61 62 63 64 ๋ค์ ๋ฐ์ํ