Bug 56263 - [iOS] Activating keyboard can cause invalid scrolling
Summary: [iOS] Activating keyboard can cause invalid scrolling
Alias: None
Product: Forms
Classification: Xamarin
Component: iOS ()
Version: 2.3.4
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: Bugzilla
Depends on:
Reported: 2017-05-12 07:05 UTC by Gabor Nemeth
Modified: 2017-07-25 18:43 UTC (History)
3 users (show)

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

repro sample (11.86 KB, application/zip)
2017-05-12 07:05 UTC, Gabor Nemeth

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 for Bug 56263 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:

Description Gabor Nemeth 2017-05-12 07:05:18 UTC
Created attachment 22106 [details]
repro sample

I attach a sample app, where a text view occupies the whole height of the page inside a ScrollView.
If you activate the keyboard for typing some text, the scrollview is getting scrolled and the content you are typing can be invisible - even if the ScrollView is set to horizontal. If you activate the keyboard when you are typing in the top of the textview, the issue occurs for sure.

The problem is caused by the KeyboardInsetTracker inside iOS ScrollViewRenderer. It'd be useful if the behavior can be configured in derived renderer classes - be able to set KeyboardInsetTracker's actions and also to be able to disable it.

Note: This could be a problem inside a UITableView and ListView as well, as I see this KeyboardInsetTracker in those too. I haven't checked them.
Comment 1 Paul DiPietro [MSFT] 2017-05-15 19:52:35 UTC

*** This bug has been marked as a duplicate of bug 25378 ***
Comment 2 Gabor Nemeth 2017-05-18 10:23:57 UTC
I don't feel it's the same as bug 25378
That bug is about a particular view is not visible, because the ScrollView does not scroll (properly).
Here is no need to scroll when user is working in the upper half of the custom editor view. But the ScrollView always scrolls, making this part invisible.
The point here is, it is impossible to prepare ScrollView and its renderers to always scroll to the right place, because you don't know what kind of views can be inside. You can prepare for builtin Xamarin Forms views, but this is just the default behavior. In this case - whole screen text editor - scroll should be handled in the custom renderer. But there is no chance to do this, as ScrollViewRenderer does not make the included KeyboardInsetTracker configurable, even by its derived classes.
Comment 3 Paul DiPietro [MSFT] 2017-07-25 18:43:42 UTC
I will leave this as confirmed for now and we can treat it as a different issue until it receives further investigation. The behavior does still exist against the latest 2.3.6 nightly build.