스토리 보드를 사용하지 않고 코드베이스로 프로젝트를 만드는 방법

7105 단어 Xcode초보자Swift

소개



iOS 앱을 여러 사람이 개발할 때 Storyboard를 사용하면 소스 코드에 의도하지 않은 차이가 나기 쉽고 관리가 귀찮습니다.
그렇다면 UIKit 대신 SwiftUI를 사용합시다.

그래서 스토리 보드를 사용하지 않고 코드베이스로 개발하는 방법을 정리합니다.

또한 iOS13 이상과 그 이전에는 설정 방법이 크게 다릅니다.
이 기사에서는 iOS14에서 설정하는 방법을 정리합니다.

버전 정보



Xcode 12.3
Swift 5.3.2

프로젝트 만들기



1.Xcode를 시작하여 프로젝트 만들기



평소와 비슷한 단계로 프로젝트를 만듭니다.
  • [Create a new Xcode project]
  • [Single View App]을 선택하고 [Next]
  • 모든 프로젝트 이름을 입력
  • 프로젝트 설정
  • Interface --> Storyboard
  • Life Cycle --> UIKit
  • Language --> Swift

  • 프로젝트 저장

  • 2.Storyboard 삭제



    위의 단계에서 만든 프로젝트에서 스토리 보드를 지웁니다.
  • Main.Storyboard 삭제.
  • Info.plist 항목 [Storyboard Name]을 - 버튼으로 삭제
  • [프로젝트]>TARGETS>ProjectName>General>Development Info>Main Interface를 비워 둡니다.
  • SceneDelegate.swift에 초기 화면 정보 설정

  • 다음과 같이 편집.

    SceneDelegate.swift
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    
            if let windowScene = scene as? UIWindowScene{
                let window = UIWindow(windowScene: windowScene)
                window.rootViewController = ViewController.init()
                self.window = window
                window.makeKeyAndVisible()
            }
        }
    



    3.빌드


  • ViewController.swift를 다음과 같이 편집

  • ViewController.swift
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            view.backgroundColor = .red
    
            let titleLabel: UILabel = {
                let view = UILabel.init()
                view.text = "はろーわーるど★"
                view.textColor = .yellow
                view.translatesAutoresizingMaskIntoConstraints = false
                return view
            }()
    
            view.addSubview(titleLabel)
    
            NSLayoutConstraint.activate([
                titleLabel.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: 0),
                titleLabel.centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: 0)
            ])
        }
    
    
    }
    



    눈에 나쁜 것 같은 색입니다만, 의도대로입니다.


    결론



    이번에는 iOS14에서 스토리 보드를 사용하지 않는 프로젝트 만들기 ~ 빌드까지를 정리했습니다.
    코드에서 AutoLayout을 사용하는 경우 아래 코드에서 Autoresizing을 비활성화해야하므로주의하시기 바랍니다.

    ViewController.swift
    view.translatesAutoresizingMaskIntoConstraints = false
    

    좋은 웹페이지 즐겨찾기