Bug 43962 - Xamarin.Forms Pull-to-Refresh Bug iOS
Summary: Xamarin.Forms Pull-to-Refresh Bug iOS
Alias: None
Product: Forms
Classification: Xamarin
Component: iOS ()
Version: unspecified
Hardware: Other Other
: Normal normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2016-09-02 00:47 UTC by Jesse Mock
Modified: 2017-12-01 12:12 UTC (History)
4 users (show)

Tags: ac
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Jesse Mock 2016-09-02 00:47:35 UTC
If the ListView is full screen, the issue does not exist, although the pull to refresh is still quite long (almost half way down the screen of the iPhone).

The issue is when the ListView takes up the lower half of the screen only, a user is unable to use the pull to refresh and there is no way to change any setting to reduce the swipe distance on the pull to refresh.  

Reproducing the issue:

Attached is a simple sample of the issue.  I have run this by a Xamarin engineer and he said this is in fact a bug and needs to be filed in here.  He wanted me to file it since I will get the updates which makes sense.

In the attached solution, run the iOS app and set the MainPage to PullToRefreshSamplePage.  This will load the working page and you can pull to refresh just fine.

Now set the MainPage to PullToRefreshSampleWithProblem.  Notice how you are unable to pull to refresh at all.  


1.  Reduce the pull to refresh distance
2.  Allow the user to set the distance on the ListView as a property (maybe from 1 to 10, 10 being the current distance).

I am not sure if the attachment is too big, so if it is, here is the sample project on google drive:
Comment 1 Jesse Mock 2016-09-16 19:19:35 UTC
This bug is fixed in iOS10.
Comment 2 adrianknight89 2016-11-02 06:49:53 UTC
I don't think it is possible to do this as Apple does not allow UIRefreshControl to be modified in such a way (i.e. change distance). This could be done with a custom refresher, but that's out of scope.

I think it's normal behavior that the refresh control can be pulled half way down the screen.
Comment 3 Adam Hartley [MSFT] 2017-12-01 12:12:18 UTC
Thanks for taking the time to submit this report. I attempted to reproduce this issue based on the bug description and sample with the latest version of Forms (2.5) and running on iOS 11, and I was unable to reproduce the problem. 

If this issue is still occurring for you, please feel free to reopen this report, ideally providing as much information as possible. Thanks!