title: SwiftUI issue showing Button in .overlay
body: <p>I'm trying to work with this <a href="https://gist.github.com/mecid/f8859ea4bdbd02cf5d440d58e936faec/9169b0293f709bb1f560de2ca8184ea903fd5116" rel="nofollow noreferrer">Calendar View</a> so that upon tapping on a day on the calendar, you can navigate to a detail view of that particular day.   The code below works to navigate to the DetailView, however it obscures the day number label which I can't figure out why?</p>
  <pre><code>import SwiftUI
  
  struct TestCalendar: View {
  
   @EnvironmentObject var trackerDataStore: TrackerDataStore
    @Environment(\.calendar) var calendar
  
      private var year: DateInterval {
          calendar.dateInterval(of: .year, for: Date())!
      }
  
      var body: some View {
      NavigationView {
          ScrollView {
              CalendarView(interval: year) { date in
                  Text(&quot;30&quot;)
                      .hidden()
                      .padding(8)
                      .background(Color.blue)
                      .clipShape(Circle())
                      .padding(.vertical, 4)
                      .overlay(
                      
                         NavigateFromCalendarButton(
                              action: {
                                  print(&quot;\(date) was tapped&quot;)
                              },
                              destination: {
                                  WorkoutDetailView().environmentObject(trackerDataStore)
                              },
                              label: { Text(String(self.calendar.component(.day, from: date))) }
                          )
                  
                      )
                  
              }
          }
          }
      }
  }
  
  struct TestCalendar_Previews: PreviewProvider {
      static var previews: some View {
          TestCalendar()
      }
  }
  
  
  struct NavigateFromCalendarButton&lt;Destination: View, Text: View&gt;: View {
      var action: () -&gt; Void = { }
      var destination: () -&gt; Destination
      var label: () -&gt; Text
  
      @State private var isActive: Bool = false
  
      var body: some View {
          Button(action: {
              self.action()
              self.isActive.toggle()
          }) {
              label()
                .background(
                  ScrollView { // Fixes a bug where the navigation bar may become hidden on the pushed view
                      NavigationLink(destination: LazyDestination { self.destination() },
                                                   isActive: self.$isActive) { EmptyView() }
                  }
              
                )
          }
      }
  }
  
  // This view lets us avoid instantiating our Destination before it has been pushed.
  struct LazyDestination&lt;Destination: View&gt;: View {
      var destination: () -&gt; Destination
      var body: some View {
          self.destination()
      }
  }
  </code></pre>