< How to preview your layout in light and dark mode | How to preview your layout in a navigation view > |
Updated for Xcode 14.2
Xcode’s SwiftUI preview lets us show our designs in multiple screen sizes at the same time using the .previewDevice()
modifier. This needs to be provided with the exact name of a device as seen in Xcode’s destination menu, e.g. “iPhone 14”.
For example, this shows a preview on the iPhone 14 Pro Max:
ContentView()
.previewDevice(PreviewDevice(rawValue: "iPhone 14 Pro Max"))
When using specific devices for previewing, you’re likely to find it useful to add in the .previewDisplayName()
modifier, which lets you put a name under a device in the preview window.
For example, this creates two previews for two different devices, adding the name of each to make it clear what’s going on:
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.previewDevice(PreviewDevice(rawValue: "iPhone 14"))
.previewDisplayName("iPhone 14")
ContentView()
.previewDevice(PreviewDevice(rawValue: "iPhone 14 Pro Max"))
.previewDisplayName("iPhone 14 Pro Max")
}
}
SPONSORED In-app subscriptions are a pain to implement, hard to test, and full of edge cases. RevenueCat makes it straightforward and reliable so you can get back to building your app. Oh, and it's free if your app makes less than $10k/mo.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.