Skip to content
← All posts

How To: Get the size of a view in SwiftUI

How to get the size of a view in SwiftUI using GeometryReader.

Here’s how you can get the size of any view in SwiftUI using the GeometryReader.

The Problem

You are trying to figure out what size a certain view is.

The Solution

struct ContentView: View {
    var body: some View {
        Text("Ethan Hunt")
            .background(
                GeometryReader { proxy in
                    Color.red.onAppear {
                        print("🔥 \(proxy.size)")
                    }
                }
            )
    }
}

We are using the background modifier to fill it with the color red. By wrapping our color in a GeometryReader we are able to read the size of that color plane.

You could've alternatively also just wrapped your Text view with a GeometryReader and do the .onAppear on that Text view instead. But sometimes it's nice to see the color of the frame we are investigating for better visual debugging.


I hope you found it useful! If you have any suggestions or feedback, let me know. I’d love to hear from you!