UIViewCanvas
This package allows you to enable a SwiftUI Xcode canva to a UIView or a entire ViewController.
Why?
Run emulator everytime you need to test a small change in your View is painfull.
Requirements
✓ Xcode 11+
✓ Swift 4.2+
✓ iOS 13+ project
How to use?
Step 1
Select your project on Xcode and go to Files > Add Packages and paste this repository URL https://github.com/outrowender/UIViewCanvas on search field.
Select a version and click Install.
Step 2
Add the previewer to the end of your view file:
import SwiftUI
import UIViewCanvas
struct MyPreview: PreviewProvider {
static var previews: some View {
ViewCanvas(for: MyCustomUIView())
}
}
You can instantiate a entire ViewController as well, using ViewControllerCanvas:
struct MyPreview: PreviewProvider {
static var previews: some View {
ViewControllerCanvas(for: MyViewController())
}
}
If you want to customize your preview, check Group component and use a .previewLayout to set a custom canvas to your preview.
struct MyPreview: PreviewProvider {
static var previews: some View {
Group{
ViewCanvas(for: MyCustomUIView())
}
.previewLayout(.fixed(width: 350, height: 350))
}
}
Step 3
You may need to reopen your .swift file in Xcode.
You can use ⌥ + ⌘ + P to quickly resume your canvas.
Credits
This package was a insight that I got from a @bhlvoong video.
