Bug 59768 - ListView Headers Scroll Out of View after pushasync when ios keyboard is open
Summary: ListView Headers Scroll Out of View after pushasync when ios keyboard is open
Status: NEEDINFO
Alias: None
Product: iOS
Classification: Xamarin
Component: General (show other bugs)
Version: XI 11.0 (xcode9)
Hardware: Other Mac OS
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-09-26 19:15 UTC by cd12172
Modified: 2017-09-26 19:39 UTC (History)
2 users (show)

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


Attachments

Description cd12172 2017-09-26 19:15:12 UTC
Recreate - 
Using a page [Page A] with a searchbar that filters a listview.  When an item is selected from the listview - a pushasync to open a new page [Page B] with a new listview is created.

When [Page B] renders - the listview heading scrolls up (out of view).  It can be pulled down, but bounces back up.  

This only happens if the listview on [Page B] is has enough items to run past the visible window. 
AND IF
The IOS keypad on [Page A] is still visible when the listview selection is made.

If you popAsync's from [Page B] back to [Page A], and re-select the same listview item, [Page B] opens, and the listview header is visible (works as expected).  Another way to get around the problem is, use searchbar on [Page A] - click whitespace to close the keyboard, then select a listview item. 

It seems the page height is not calculated properly on [Page B] when rendered with the keyboard open.

[Page A] and [Page B]

XAML outline for [Page A] - 
<contentpage.content>
  <AbsoluteLayout>
    <Grid>
      <StackLayout>
          Controls
      </StackLayout>
      <StackLayout>
           <Searchbar>     <=== This is the object that opens the ios keyboard
      </StackLayout>
      <StackLayout>
          Controls
      </StackLayout>
      <ListView>
          Items...  This is filtered by the Searchbar above.  selecting one of these items opens [Page B]
      </listview>
     </Grid>
     <StackLayout>
         Controls
     </StackLayout>
   </AbsoluteLayout>
</Contentpage.Content>
Comment 1 Timothy Risi 2017-09-26 19:39:04 UTC
Please include your full build logs, crash reports (if any), test case (to reproduce) and all version information.

To get full build logs just set the log verbosity to diagnostic at the following locations:
- On Visual Studio for Mac: Preferences > Projects > Build
- On Visual Studio for Windows: Tools > Options > Projects and Solutions > Build and Run

On Visual Studio Windows you also want to add `-v -v -v -v` to the mtouch additional arguments by right-clicking the project in the solution explorer and selecting `Properties`.
Note: this is done automatically on Visual Studio for Mac when the log verbosity is set to diagnostic.

Easiest way to get exact version information:
- On Visual Studio for Mac: "Visual Studio" menu, "About Visual Studio" item, "Show Details" button.
- On Visual Studio for Windows: "Help menu", "About Microsoft Visual Studio" item.
Then copy/paste the version information (you can use the "Copy Information" button).

Note You need to log in before you can comment on or make changes to this bug.