uikit으로 프로젝트를 만드는 방법은 두가지가 있는데요,
첫번째는 그냥 스토리보드를 써서 GUI환경에서 그냥 드래그앤드랍으로 만드는법.
두번째는 스토리보드 없이 코드로 요소들을 구현하는 방법.
첫번째꺼는 알려드릴 필요가 없이 프로젝트 생성할때 스토리보드를 사용해서 만들면 그냥 생기니까 하면되구요,
이번시간엔 두번째방법인 코드로만 프로젝트를 생성하는 방법에 대해 알아보고자 합니다.
대략적인 흐름을 말씀드리자면
원래는 Main 스토리보드가 존재하고 그 친구가 앱의 시작이잖아요?(런치스크린 빼고)
UI를 코드로 작성해버리니까 더이상 스토리보드가 필요없어지니까
Main 스토리보드를 지우면서 해당 내용이 써있던 부분들을 전부 지워주고
앱의 진입점을 ViewController로 만들어주는 작업입니다.
후에 ViewController에 코드로 직접 화면 요소를 객체로 만들어주고 제약조건도 설정해주고... 여러가지 작업을 하면됩니다.
1. Interface는 Storyboard로 선택
코드로 프로젝트 만들땐 우선 스토리보드를 선택해서 만들구요,
2. Main.storyboard 제거
그냥 삭제해줍시다.
3. info.plist 수정
info.plist를 쭉 펼쳐보면 저렇게 Storyboard Name이 있는데 "-"를 눌러서 항목자체를 아예 제거합니다.
4. UIKit Main Storyboard File Base Name 제거
우리가 프로젝트 만들면 디렉토리 인스펙터에 보면 최상단에 프로젝트명 써있잖아요?
그걸 눌러주고 TARGETS에서 해당 프로젝트의 Build Settings를 누르면 뭐가 되게 많이 나올텐데,
그냥 바로 우상단에 main을 검색하면 UIKit Main Storyboard File Base Name 항목이 나옵니다.
클릭해서 선택하고 백스페이스를 누르면 항목은 살아있지만 내용은 지워집니다.
5. SceneDelegate 수정
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions
) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
let viewController = ViewController()
window?.rootViewController = viewController
window?.makeKeyAndVisible()
}
SceneDelegate의 scene(_:willConnectTo:options:) 메서드 안을 위와같이 수정해줍시다.
(주석이 되게 많이 써있을텐데 이 메서드에 대해 간단히 써있는것이라 무시하고 지워버려도 상관없습니다. 애초에 주석이잖아요?
물론 읽어봐서 나쁠건 없겠죠?)
여기까지하면 이제부턴 앱을 코드만으로 만들 수 있어요!👏👏👏
'공부 > Apple' 카테고리의 다른 글
[UIKit] 다크모드, 라이트 모드 고정 (0) | 2024.09.01 |
---|---|
[UIKit] UITextView placeholder (0) | 2024.08.13 |
[UIKit] 둥근 테두리, 테두리 넓이 및 색깔 (0) | 2024.07.28 |
[Swift] uitableview 선택 유지 해제(deselectRow) (1) | 2024.07.24 |
[UIKit] 이미지를 이미지뷰에 맞추기(clipToBounds) (0) | 2024.06.24 |