반응형
사용방법
Preview를 보고 싶은 곳에서 아래 코드를 사용합니다.
makeUIViewController(context: Context)
내부에서
이름을 Preview를 보고 싶은 ViewController 이름으로 변경해 주시면 됩니다.
#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
입니다.
Extension으로 만들어 사용하기
여러 곳에서 사용할 때 간단하게 사용하기 위해
extension
을 이용하여 만들어 봅시다.
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를 보고 싶은 곳에서 사용하시면 됩니다.
// MARK: - PreView
import SwiftUI
#if DEBUG
struct PreView: PreviewProvider {
static var previews: some View {
// 사용할 뷰 컨트롤러를 넣어주세요
ViewController()
.toPreview()
}
}
#endif
반응형
'UIKit > Cheat Sheet' 카테고리의 다른 글
[iOS/Swift] UIColor (RGB대신 HEX Color 이용하기) (0) | 2023.02.09 |
---|---|
[iOS/Swift] 상태창(StatusBar) 색상 변경 방법 (시계, 배터리...색) (0) | 2023.02.05 |
[iOS/Swift] Custom delegate 패턴 (0) | 2022.12.24 |
[iOS/Swift] 날짜 형식변환 (DateFormatter) (0) | 2022.12.23 |
[iOS/Swift] 화면 이동 (feat. 데이터 전달) (0) | 2022.12.22 |