SwiftUI | Preview 활용하기

이제서야 SwiftUI로 여러가지를 해보려합니다.
SwiftUI 의 가장 빛, Preview를 활용하는 방법입니다.

기기 설정하기

//
//  ContentView.swift
//  SwiftUI_Practice
//
//  Created by Eunyeong Kim on 2020/05/06.
//  Copyright © 2020 Eunyeong Kim. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
                .previewDevice(PreviewDevice(rawValue: "iPhone SE")) // ⭐️
                .previewDisplayName("iPhone SE") // Preview 화면명 설정.
    }
}

간단하쥬 ~ ?

rawValue로 인간이 알고 있는 디바이스명을 써주면 됩니다.

당연히 띄어쓰기나 대문자 소문자가 틀리면 인식이 안됩니다. 😵
case가 나뉘어져 있지않고 string으로 써야한다는건 아쉽네요

시간대, 다크모드 등을 설정하기

//
//  ContentView.swift
//  SwiftUI_Practice
//
//  Created by Eunyeong Kim on 2020/05/06.
//  Copyright © 2020 Eunyeong Kim. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
                .previewDevice(PreviewDevice(rawValue: "iPhone SE"))
                .previewDisplayName("iPhone SE")
                .environment(\.colorScheme, .dark) // 🦇 다크모드
                .environment(\.timeZone, .current) // 🌍 시간대 설정
    }
}

시간대, 다크모드 이외에도 environment 의 키패스에는 설정이 다양하니 한 번 살펴보셨으면 좋겠어요 ~ 😀

https://developer.apple.com/documentation/swiftui/environmentvalues

여러 기기에서 한 번에 보기

//
//  ContentView.swift
//  SwiftUI_Practice
//
//  Created by Eunyeong Kim on 2020/05/06.
//  Copyright © 2020 Eunyeong Kim. All rights reserved.
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        Group {
            ContentView()
                .previewDevice(PreviewDevice(rawValue: "iPhone SE"))
                .previewDisplayName("iPhone SE")

            ContentView()
                .previewDevice(PreviewDevice(rawValue: "iPhone 8"))
                .previewDisplayName("iPhone 8")
        }
    }
}

Group 에서 ContentView 를 추가하면 됩니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중