GeometryReader not generating correct screen height?

  public var body: some View
  {
    ZStack{
     
      GeometryReader { geometry in
          RoundedRectangle(cornerRadius: 25, style: .continuous)
            .frame(width: geometry.size.width*1.00, height: geometry.size.height*1.00)
            .zIndex(0)
      }
  }
}


I'm using GeometryReader to draw a rounded rectangle to fill up the entire watch screen, this looks fine on a 38mm watch simulator, but as I increase the watch size to 40, 42, 44mm I noticed that the height is not filling up the whole screen. I have to adjust my multiple to say 1.1 for example to fill up more of the screen.


Can someone tell me if I am using GeometryReader incorrectly?

Post not yet marked as solved Up vote post of dshum17 Down vote post of dshum17
3.3k views

Replies

The full screen view will be the size of the safe area by default, inset from the rounded corners and time display.


Add .edgesIgnoringSafeArea(.all/) to the ZStack to change this behavior.