title: ScrollViewReader not scrolling programmatically
body: <p>I have the following view and I'm attempting to have it scroll to the bottom on button click as elements are added to the list. I've searched and found that ScrollViewReader is the option to use however my implementation doesn't appear to be working.</p>
  <p>My attempts at fixing have included explicitly setting the id of the cell on both the inner views as well as the outer <code>HStack{}</code> I even attempted to set the id to a reference of itself, kind of knowing that's a bad idea, but for brevity. I also removed any extra views inside of the list such as <code>HStack{}</code>, <code>Spacer()</code>, etc.. and just left my <code>ColorsChosenView().id(i)</code> thinking that extra views might cause it, but I digress the issue still persists.</p>
  <pre><code>var body: some View {
              VStack {
                  ScrollViewReader { reader in
                      List {
                          ForEach(0..&lt;vm.guesses.count, id: \.self) { i in
                              HStack{
                                  Spacer()
                                  ColorsChosenView(locationCorrect: 1,
                                                   locationIncorrect: 3,
                                                   color1: vm.guesses[i][0],
                                                   color2: vm.guesses[i][1], 
                                                   color3: vm.guesses[i][2], 
                                                   color4: vm.guesses[i][3])
                                  Spacer()
                              }.id(i)
                          }
                      }.listStyle(InsetListStyle())
  
                      Divider()
                          .frame(maxWidth: 250)
  
                      ColorChoicePicker(vm: vm)
  
                      Divider()
                          .frame(maxWidth: 250)
  
                      HStack {
                          Spacer()
                          FABButton(text: &quot;SUBMIT&quot;)
                              .onTapGesture {
                                  vm.submit()
                                  reader.scrollTo(vm.guesses.count - 1)
                              }
  
                      }.padding()
                  }
              }
              .navigationBarHidden(true)
              .navigationBarHidden(true)
              .onAppear(perform: {
                  vm.resetGame()
              })
      }
  </code></pre>
  <p>To simplify things, I found that this works just fine. Yet my implementation doesn't feel much different.</p>
  <pre><code>var body: some View {
              ScrollViewReader { proxy in
                  VStack {
                      Button(&quot;Jump to #50&quot;) {
                          proxy.scrollTo(50)
                      }
  
                      List(0..&lt;100, id: \.self) { i in
                          Text(&quot;Example \(i)&quot;)
                          .id(i)
                      }
                  }
              }
          }
  </code></pre>