๐ŸŽ iOS

[iOS] ์Šคํ† ๋ฆฌ๋ณด๋“œ ์—†๋Š” ํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ | No-storyboard

ํ•ญ์ƒ ์Šคํ† ๋ฆฌ๋ณด๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์™”๋Š”๋ฐ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์Šคํ† ๋ฆฌ๋ณด๋“œ ์—†์ด ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•œ๋‹ค. ์–ด์ฐจํ”ผ UIKit๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋•Œ๋ฌธ์— ๋‹ค ๋˜‘๊ฐ™์ง€๋งŒ, ๊ธฐ๋ณธ์ ์œผ๋กœ storyboard ์…‹ํŒ…์ด ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ๊ฒฐ๋งŒ ๋Š์–ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

 

(Step 1) ์Šคํ† ๋ฆฌ๋ณด๋“œ ํ”„๋กœ์ ํŠธ์™€ ๋˜‘๊ฐ™์€ ์„ค์ •์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ค€๋‹ค.

(Step 2) ์™ผ์ชฝ์˜ Navigator์—์„œ Main.storyboard๋ฅผ ์‚ญ์ œํ•ด์ค€๋‹ค.

(Step 3)  Project > Targets > General > Deployment Info ์—์„œ Main Interface์— ์„ค์ •๋˜์–ด์žˆ๋Š” Main.Storyboard๋ฅผ ์‚ญ์ œํ•ด์ค€๋‹ค.

(Step 4) Project > Targets > Info ์—์„œ Storboard Name์„ ์‚ญ์ œํ•ด์ค€๋‹ค.

(Step 5) SceneDelegate.swift์—์„œ Window Root ViewController๋ฅผ ์„ค์ •ํ•ด์ค€๋‹ค.

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = (scene as? UIWindowScene) else { return }
    window = UIWindow(frame: windowScene.coordinateSpace.bounds)
    window?.windowScene = windowScene
    window?.rootViewController = ViewController() // RootViewController
    window?.makeKeyAndVisible()
}
* window.makeKeyAndVisible()
- window๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์กด์žฌํ•  ๋•Œ, ๊ฐ€์žฅ ์•ž์ชฝ์— ๋ฐฐ์น˜๋œ window์ธ keyWindow๋กœ ํ•ด๋‹น window๋ฅผ ์„ค์ •ํ•œ๋‹ค.

https://developer.apple.com/documentation/uikit/uiwindow/1621601-makekeyandvisible

 


rootViewController๋กœ ์‚ฌ์šฉํ•  Viewcontroller์˜ background color๋ฅผ yellow๋กœ ์ฃผ๊ณ  ํ™•์ธํ•ด๋ณด๋ฉด,

๊ทธ๋ ‡๊ฒŒ๋๋‹ค!

 

์ด์ œ ์Šคํ† ๋ฆฌ๋ณด๋“œ ์—†์ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.