minuco

1. 1. 사용방법

Preview를 보고 싶은 곳에서 아래 코드를 사용합니다.

makeUIViewController(context: Context) 내부에서

이름을 Preview를 보고 싶은 ViewController 이름으로 변경해 주시면 됩니다.

<code />
<swift> #if DEBUG import SwiftUI struct Preview: UIViewControllerRepresentable { // 여기 ViewController를 변경해주세요func makeUIViewController(context: Context) -> UIViewController { ViewController() } func updateUIViewController(_ uiView: UIViewController,context: Context) { // leave this empty } } struct ViewController_PreviewProvider: PreviewProvider { static var previews: some View { Group { Preview() .edgesIgnoringSafeArea(.all) .previewDisplayName("Preview") .previewDevice(PreviewDevice(rawValue: "iPhone 12 Pro")) } } } #endif

캔버스 여는 방법은 option + command + Enter입니다.

이러면 PreView를 보실 수 있습니다.

또한, 코드 수정 후 PreView를 새로고침하는 방법은

option + commnad + p입니다.

2. 2. Extension으로 만들어 사용하기

여러 곳에서 사용할 때 간단하게 사용하기 위해

extension을 이용하여 만들어 봅시다.

<code />
<swift> import SwiftUI #if DEBUG extension UIViewController { private struct Preview: UIViewControllerRepresentable { let viewController: UIViewController func makeUIViewController(context: Context) -> UIViewController { return viewController } func updateUIViewController(_ uiViewController: UIViewController, context: Context) { } } func toPreview() -> some View { Preview(viewController: self) } } #endif

사용 시

아래 코드를 갖고

Preview를 보고 싶은 곳에서 사용하시면 됩니다.

<code />
<swift> // MARK: - PreViewimport SwiftUI #if DEBUG struct PreView: PreviewProvider { static var previews: some View { // 사용할 뷰 컨트롤러를 넣어주세요ViewController() .toPreview() } } #endif

'iOS > Swift' 카테고리의 다른 글

[Swift Network] URLSession  (0) 2023.04.12
[Swift Network] URLSession - 사전지식  (0) 2023.04.12
[Swift] Closure - 축약  (0) 2023.03.23
[Swift] Closure - escaping  (0) 2023.03.23
[Swift] Closure - Capturing  (0) 2023.03.23
profile

minuco

@minuco

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!