-
[iOS] 2์ฃผ ์ฐจ ๋ฏธ์ - Auto layout์ ํ์ฉํด์ ํด๋ก ์ฝ๋ฉ์ ํด๋ณด์!iOS/UMC 2022. 10. 1. 04:22
2์ฃผ ์ฐจ ๋ฏธ์
๐ก ์ค์ ์ฑ์ ํ๋ ์ ํด์, ํน์ ํ๋ฉด ๊ตฌ์ฑํด๋ณด๊ธฐ
๐ก ๋ฒํผ ํฐ์น๋ฅผ ํตํด ๋ค๋ฅธ ํ๋ฉด (๋ค๋ฅธ ์คํ ๋ฆฌ๋ณด๋์ ViewController)์ผ๋ก ํ๋ฉด ์ ํํ๊ธฐ(Present, Navigation)
โ ๋ค์ํ Auto Layout์ ํ์ฉํด๋ณด๊ธฐ
โ Safe Area ์งํค๊ธฐ
โ ๋ชจ๋ ๋๋ฐ์ด์ค ํฌ๊ธฐ์ ๋์ํ๊ธฐ1. ์คํ ๋ค๋ ๋ฏธ์
๋ด๊ฐ ์ ํ ์ดํ๋ฆฌ์ผ์ด์
'๋ฐ๋ฐ์ด': ๋ฐ๋์ด๋ ๊ฑท๊ธฐ ์ด๋์ ํ ๋ ์ฌ์ฉํ๋ ์ดํ์ด๋ค. ๊ฐ๋จํ๊ฒ ์ค์ตํด๋ณด๊ธฐ ์ข์ ๊ฒ ๊ฐ์์ ์ ํํ๋ค.
๋๋ฐ์ด์ค ํฌ๊ธฐ์ ๋ง๋๋ก auto layout์ ์ค์ ํด์ ๋ฉ์ธ ํ์ด์ง๋ฅผ ๋ง๋ค์ด๋ดค๋ค
โ ์คํฌ๋กค ๋๋ ๋ฒํผ ๋ง๋ค๊ธฐ
์ค์ ๋ก horizontal scroll ๋ฒํผ์ ์ด๋ ๊ฒ ๋ง๋ค์ด์ ๊ตฌ๋๋๋์ง๋ ๋ชจ๋ฅด์ง๋ง, ์คํฌ๋กค์ด ๋๋ ํ๋ฉด์ ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
1๏ธโฃ ์คํ ๋ฆฌ๋ณด๋์์ ScrollView๋ฅผ ๋ง๋ ๋ค, View์ ์์ ์์๋ค์ ๋ฃ์ด์ ScrollView์ ๋ฃ์ด์ค๋ค.
์ด๋ก์ ๋ฐฐ๊ฒฝ ๋ถ๋ถ์ด Scroll View์ด๊ณ , ๋ฒํผ๋ค์ด ๋ค์ด๊ฐ์๋ View๊ฐ ๋ Scroll View ์์ ๋ค์ด์๋ ์ํ์ด๋ค
2๏ธโฃ View์ constraints ์์ฑ์ ๋ถ์ฌํ๋ค.
3๏ธโฃ Ctrl ๋๋ฅธ ์ํ์์ View ํด๋ฆญ -> Scroll View์ Content Layout Guide์ ๋๋๊ทธ ์ค ๋๋
๋๊ฐ์ ๊ฒฝ์ฐ๋ ์ํ ์คํฌ๋กค์ ๊ตฌํํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ Equal Heights๋ก ์ค์ ํด์ค๋ค(์ธ๋กํญ์ ๊ณ ์ , ๊ฐ๋ก๋ง ์คํฌ๋กค ๋๋๋ก ํจ)
4๏ธโฃ ์คํฌ๋กค ํ๊ณ ์ถ์ ๋งํผ View์ width๋ฅผ ๋๋ ค์ฃผ๊ณ , ๋นจ๊ฐ ์ ์ ์ ๊ฑฐํด์ค๋ค.
2. ์ฑ๋ฆฐ์ง ๋ฏธ์
ํ๋ฉด ์ ํ: ํ๋กํ ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ง์ดํ์ด์ง๋ก ์ด๋ํด๋ณด์!
1๏ธโฃ ์คํ ๋ฆฌ๋ณด๋ ์์ฑํ๊ธฐ
mainViewController์ ํ๋กํ ๋ฒํผ์ ๋๋ฅด๋ฉด ํ๋ฉด ์ด๋์ ํ ์ ์๋๋ก ์คํ ๋ฆฌ๋ณด๋๋ฅผ ๋ง๋ค์ด์ค๋ค
2๏ธโฃ ๋ทฐ์ปจํธ๋กค๋ฌ ์์ฑํ๊ธฐ
cocoa touch class๋ก ProfileViewController๋ฅผ ๋จผ์ ์์ฑํด์ค๋ค.
์คํ ๋ฆฌ๋ณด๋์์ View Controller๋ฅผ ์์ฑํ ๋ค Class๋ฅผ ์ฐ๊ฒฐํด์ค๋ค.
Storyboard ID๋ 'ProfileVC'๋ก ์์ฑํด์ค๋ค.
// 2. ๋ทฐ์ปจํธ๋กค๋ฌ ์์ฑ let profileViewController = storyboard.instantiateViewController(withIdentifier: "profileVC") as! ProfileViewController
MainViewController์์ ์ฝ๋๋ ์ด๋ ๊ฒ ์์ฑํด์ฃผ๋ฉด ๋๋ค
3๏ธโฃ ํ๋ฉด ์ ํ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ๋ฉด ์ ํํ๊ธฐ
// 3. ํ๋ฉด ์ ํ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ๋ฉด ์ ํ self.present(profileViewController, animated: true, completion: nil) }
์ฌ๊ธฐ๊น์ง ๊ตฌํ์ ์ฑ๊ณตํ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ
๊ทธ๋ฐ๋ฐ... ์๋ก์ด ํญํ๋ฉด์ผ๋ก ๋ด์ผ๋ฉด ์ข๊ฒ ๋๋ฐ???
์กฐ๊ธ ๋ ์งํํด๋ณด์
1๏ธโฃ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ถ๊ฐํ๋ค.
2๏ธโฃ ์ฝ๋๋ฅผ ๊ตฌํํด์ค๋ค
// 3. ํ๋ฉด ์ ํ ๋ฉ์๋๋ฅผ ์ด์ฉํด์ ํ๋ฉด ์ ํ // self.present(profileViewController, animated: true, completion: nil) self.navigationController?.pushViewController(profileViewController, animated: true)
์ต์ข ๊ฒฐ๊ณผ
'iOS > UMC' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[iOS] 3์ฃผ ์ฐจ ๋ฏธ์ - ํ๋ฉด ์ ํ์ ์ด์ฉํ ๋ฏธ๋ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (0) 2022.10.08 [iOS] UMC iOS ์ธ๋ฏธ๋ 3์ฃผ ์ฐจ (1) 2022.10.05 [iOS] UMC iOS ์ธ๋ฏธ๋ 2์ฃผ ์ฐจ (0) 2022.09.26 [iOS] Storyboard UIComponents / Auto layout ํ๊ตฌ (0) 2022.09.24 [iOS] info.plist / AppProject ์์ฑ ํ๊ตฌ (0) 2022.09.24