layout
-
SwiftUI - AnyLayoutSwiftUI 2024. 8. 29. 18:28
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ AnyLayout์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป AnyLayout์ฐ์ AnyLayout์ ๋ ์ด์์ ํ๋กํ ์ฝ์ ํ์ ์๊ฑฐ๋ ์ธ์คํด์ค์ ๋๋ค.์ฌ๊ธฐ์ Type erasure๋, ์ปดํ์ผ ์๊ฐ์ ์๋ ค์ง ํ์ ์ ๋ณด์ ์ผ๋ถ๋ฅผ ๋ฐํ์์ ์ ๊ฑฐํ๋ ๊ณผ์ ์ ๋งํ๋ฉฐ ์ฃผ๋ก ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค.์ฆ, ๊ตฌ์ฒด ํ์ ์ ์จ๊ธฐ๊ณ ๋ ์ผ๋ฐ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ ์ ์์ฃ .AnyLayout๋ Any๋ผ๋๊ฒ์ด ๋ถ์์ผ๋ ๊ตฌ์ฒด์ ์ธ ํ์ ์ ์จ๊ธฐ๊ณ Layout์ด๋ผ๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ ์ถ๋ก ํด๋ณผ ์ ์์ต๋๋ค. SwiftUI์์ AnyView๋ ๋์ผํ๊ฑฐ๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค ๐ @frozenstruct AnyLayout ์ ์ธ ๊ตฌ์กฐ ์์ฒด๋ ๊ตฌ์กฐ์ฒด๋ก ๊ฐ๋จํฉ๋๋ค. AnyLayout..
-
SwiftUI๋ก ๋์ ๋ทฐ ๋ ์ด์์ ๊ตฌ์ฑํ๊ธฐSwiftUI 2024. 1. 18. 18:33
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ๋์ ๋ทฐ ๋ ์ด์์์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ๋ณธ๊ฒฉ์ ์ผ๋ก ์์๋ณด๊ธฐ์ ์์ ์ด๋ค๊ฑธ ํด๋ณด๊ณ ์ถ์์ง ํ๋ฒ ์คํฌํ๊ณ ๊ฐ๊ป์! ์๋ฐ ๋ทฐ๋ฅผ ๊ตฌ์ฑํด๋ณด๋ ค ํ๊ฑฐ๋ ์! ๐ ์ธ๋ป๋ณด๊ธฐ์๋ ๊ฐ๋จํด๋ณด์ด๋, ์ธ๋ถ ์กฐ๊ฑด๋ค์ด ์์ด์. 1๏ธโฃ ํด๋น ์นฉ์ค(๋ฑ์ง)์ ๋ค์ด๊ฐ Text์ ๊ธธ์ด๋งํผ ์นฉ์ค๊ฐ ๋ค ๋ ธ์ถ๋์ด์ผํจ 2๏ธโฃ ํ๋ฉด์ ๋ฒ์ด๋๊ฑฐ๋ ์งค๋ฆฌ๋ฉด ์๋จ 3๏ธโฃ Text์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ ๋ฐฐ์นํ ์ ์์ผ๋ฉด ๋ค์ ํ์ผ๋ก ์ด๋ํ์ฌ ๋ฐฐ์น 4๏ธโฃ ์คํฌ๋กค ์์ด ํ๋ฉด์ ๋ชจ๋ ๋ ธ์ถํด์ผํจ ์ด๋ฐ Text ๊ธธ์ด์ ๋ฐ๋ผ ์ ๋์ ์ผ๋ก ์นฉ์ค ๋ทฐ๋ฅผ ๋ฐฐ์นํ๋ ๊ทธ๋ฐ ๊ตฌํ์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ์ฌ๋ฌ๋ถ๋ค์ด๋ผ๋ฉด ์ด ๋ทฐ๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ์ค๊ฒ ๊ฐ์ผ์ ๊ฐ์? ๐ค ์... ๊ทธ๋ฅ LazyVGrid ์ ์ ํ ์ ์ฐ๋ฉด ๋..