Storyboard와 UIKit
1편에 이어서 2편이다.

이 화면 본적 있을 꺼다.
Xcode에서 새로운 프로젝트를 만들때
나오는 화면이다.
먼저 필자는 iOS를 만들꺼라서
iOS탭에서 App 클릭

첫 설정은 Storyboard를 쓸꺼라서
인터페이스를 Storyboard로 바꿔줬고
언어는 당연히 스위프트다.
나머지는 그냥 없음 처리 했다.
큰 프로젝트를 할게 아니라서
공부한 내용을 그냥 정리하는 거라서
단순하게 하곘다.

뭔가 첫 설정부터
스위프트UI와는 다르다.


누가 막 코딩을 해놓은 것 같다.

여기 파일엔 UIKit이 import되어 있다.
이전에 스위프트UI에서 학습했던
Body의 개념일꺼다.

이런 화면도 있다.
얘가 스토리 보드인거다.

이름을 바꿔보려 하면
스토리보드 라는걸 알 수 있다.
이걸 실행을 해보면


이렇게 뜬다.
이 Main의 화면이 그대로
뜨게 된다.
중간에 보면 화살표가 있다.

이게 엔트리 포인트인거다.

쉽게 정리해 보자면,
음.. 커맨드+쉬프트+F로
검색을 해보겠다.

Storyboard Name은 Main이기 때문에
앱이 실행 되면 Main 이라는 스토리보드가 있는지
확인해서 Main 이라는 스토리보드를
확인해서 Storyboard Entry Point를 확인한다.
그리고 그 Entry Point를 실행하는거다.
그러면 일단 뭘 해야할지 모른다면
스토리보드 파일에서
커맨드+쉬프트+L 을 눌러보자.

뭔가 그냥 스위프트UI와는
비슷하면서 다른 오브젝트들이
보이기 시작했다.
디자인에 예민한 사람들은
뭔가 다름을 바로 느낄 수 있다.
뭔가 되게 직관적이면서도
알차게 들어있는 것 같이 느껴진다.
레이블을 우선 넣어보겠다.

음.. 이렇게 넣어주고
인스펙터에서 이름도 바꿔보겠다.


근데 인스펙터에서만
이름을 바꿀 수 있는게 아니라
그냥 꺼낸 레이블에 바로 더블클릭해서
이름을 넣어줄 수 있다.

스위프트UI에서도
컴포넌트를 누르고
인스펙터에서 만질 수 있었는데,
얘도 가능한데,
인스펙터에서만
바꿀 수 있는 요소도
몇몇개 있기도 하다.


배경색도 바꿔서 실행해봤다.
이렇게만 봤을때는
스위프트UI보다
너무 쉬워보인다.


처음 스토리보드를 접했을 때는
막 신나서 이것저것 넣어보고
막 눌러봤다.
UIKit 이렇게 쉬워보이지만,
사실 굉장히 어려운 친구다..
자 여기서 문제

ViewController 라는게 있다.
Main을 보면

여기에도 ViewController가 보인다.
클래스에도 ViewController가 되어있는데
여기 화살표를 눌러보면


ViewController 파일로 가진다.
ViewController 파일과
스토리보드의 ViewController와
같은 것 이라고 인식이 된다.

class ViewController: UIViewController
클래스 ViewController가
UIViewController 상속을 받았다.

오른쪽 마우스로 속성을 보고
Jump to Definition을 클릭해보았다.

뭔가가 쫘르륵 나왔다..
일일이 다 살펴보진 않을텐데
내리다 보니까..

View가 보인다.
음.. 그러면 컨트롤러 파일에 가서

view를 쳐봤는데 자동으로
배경색을 변경하는 코드를 써줬다..

파란색으로 바꿔봤다.
그런데 이미 메인 스토리보드 파일에서

이 민트 색으로 색을 입혀놨는데,
저 위에 코드로 실행을 하면 어떻게 되는가?


어... 왜 이렇게 되는거지..?
필자도 처음엔 당황했다.
이를 알기 위해선 우선
View와 ViewController에 대해
알아야 한다.
다음 글에서는
View와 ViewController에 대해
글을 작성해보겠다.
'IOS > Swift-TIL' 카테고리의 다른 글
| [Swift-TIL] 오토레이아웃 맛보기 (1) | 2024.11.30 |
|---|---|
| [Swift-TIL] View와 ViewController (0) | 2024.11.28 |
| [Swift-TIL] Storyboard와 UIKit (1편) (2) | 2024.11.28 |
| [Swift-TIL] 여러개 화면을 이어서 간단하게 앱을 만들어보기 (0) | 2024.11.28 |
| [Swift-TIL] 탭뷰로 그려보기 (0) | 2024.11.27 |