< How to change the order of view layering using Z index | How to automatically switch between HStack and VStack based on size class > |
Updated for Xcode 14.2
SwiftUI supports size classes natively by exposing them in the environment for us to read. To use them, first create an @Environment
object that will store its value, then check the value of that property whenever you need, looking for either the .compact
or .regular
size class.
For example:
struct ContentView: View {
@Environment(\.horizontalSizeClass) var horizontalSizeClass
var body: some View {
if horizontalSizeClass == .compact {
Text("Compact")
} else {
Text("Regular")
}
}
}
Download this as an Xcode project
Size classes are a great way to make your user interfaces intelligently adapt to the available space by using a VStack
or a HStack
for your content. For example, if you have lots of space you might lay things out horizontally, but switch to vertical layout when space is limited.
SPONSORED Play is the first native iOS design tool created for designers and engineers. You can install Play for iOS and iPad today and sign up to check out the Beta of our macOS app with SwiftUI code export. We're also hiring engineers!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.