title: Can't scroll ListView to top on iOS?
body: <p>On Xamarin Forms 3.3, I can't scroll ListView to top on iOS.</p>
  
  <p>I try: <a href="https://stackoverflow.com/questions/36767966/scrolling-to-start-of-xamarin-forms-listview-with-header">Scrolling to start of Xamarin Forms ListView with header</a> 
  But Can't set scroll ListView to top.
  This is my code:</p>
  
  <p>At control iOS:</p>
  
  <pre><code>public class ExtListViewRenderer : ListViewRenderer
  {
      protected override void OnElementChanged(ElementChangedEventArgs&lt;ListView&gt; e) =&gt; iOS.Control.Logger.InvokeAction(() =&gt;
      {
          base.OnElementChanged(e);
  
          if (!(e.NewElement is ExtListView extListView) || Control == null)
              return;
  
          extListView.EventScrollToTop += OnScrollToTop;
      });
  
      public void OnScrollToTop(object sender, EventArgs eventArgs)
      {
          Control.ScrollRectToVisible(new CoreGraphics.CGRect(0, 0, 1, 1), true);
      }
  
  }
  </code></pre>
  
  <p>At class control:</p>
  
  <pre><code>public class ExtListView : ListView
  {
      public event EventHandler EventScrollToTop;
  
      /// &lt;summary&gt;
      /// Scroll LisView To Top
      /// &lt;/summary&gt;
      /// &lt;param name="animate"&gt;&lt;/param&gt;
      public void ScrollToTop(bool animate = true)
      {
          //bool animate is not used at this stage, it's always animated.
          EventScrollToTop?.Invoke(this, EventArgs.Empty);
      }
  }
  </code></pre>
  
  <p>At view .xaml:</p>
  
  <pre><code>    &lt;control:ExtListView.Behaviors&gt;
          &lt;common:MethodToDelegateBehavior Delegate="{Binding ScrollToTop}"
                                           DelegateType="{x:Type propertyViewModels:PropertyPageViewModel+ScrollToTopDelegate}"
                                           MethodName="ScrollToTop" /&gt;
      &lt;/control:ExtListView.Behaviors&gt;
  </code></pre>
  
  <p>At page:</p>
  
  <pre><code>    public delegate void ScrollToTopDelegate(bool animate);
      private ScrollToTopDelegate _scrollToTop;
      public ScrollToTopDelegate ScrollToTop
      {
          get =&gt; _scrollToTop;
          set =&gt; this.RaiseAndSetIfChanged(ref _scrollToTop, value);
      }
  </code></pre>
  
  <p>At method use:</p>
  
  <pre><code>ScrollToTop?.Invoke(true);
  </code></pre>
  
  <ul>
  <li>I use it on Android is work, but iOS is not work.</li>
  </ul>