Bug 36598

Summary: SetHasNavigationBar screen height wrong
Product: Forms Reporter: Momm <felipe.momm>
Component: FormsAssignee: Bugzilla <bugzilla>
Severity: normal CC: chris.king, david.ortinau, david, eric.maupin, jas, Paul.Brenner, paul.dipietro, seth.rosetter
Priority: High    
Version: 2.3.5   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS   
Tags: ac, navigationbar, layout, tabbedpage Is this bug a regression?: ---
Last known good build:
Attachments: Project
Sample showing issue

Description Momm 2015-12-04 14:22:58 UTC
Created attachment 14126 [details]

Considering I'm in one page with a NavBar and ScrollView with 1 button and 30 labels. And I touch the button to open another page without NavBar. When I touch BACK, it comes back to the former page, but the bottom labels (28...) doesn't show.

Apparently it considers that we still don't have the NavBar and calculates the screen height wrong.

If I force "NavigationPage.SetHasNavigationBar(this, true);" in the first screen (OnAppearing method), it still doesn't work, but if I call " NavigationPage.SetHasNavigationBar(this, false);" and then "NavigationPage.SetHasNavigationBar(this, true);", it works.

I believe that Xamarin.Forms isn't considering that this value changed and for this reason, it doesn't recalculate the screen height. If I force the value to change (to false, and then true), the value changed is called and it works.

Issue happens only on iOS and I was able to reproduce in all versions (2.0, 1.5.2 and 1.3.5).
Comment 1 Momm 2015-12-15 13:15:03 UTC
BTW, if I use the workaround approach (set to false, then true), it works fine on iOS8+, but on Phones iOS 7.1.2 it hides the NavBar and then shows it very fast. On iOS8, this behaviour can't be noticed by the user.
Comment 2 Momm 2016-02-22 12:16:55 UTC
When do you intend to fix it?
Comment 3 Momm 2016-04-06 13:48:12 UTC
Hi, any news about it?
Comment 4 Chris King 2016-04-13 20:18:35 UTC
We confirmed the issue and are working through our lengthy backlog. We haven't lost track of this issue! Thanks for reporting it.
Comment 5 Paul Brenner 2017-07-19 20:23:44 UTC
Can this please be given higher priority?
Comment 6 Paul Brenner 2017-07-19 20:50:14 UTC
Created attachment 23669 [details]
Sample showing issue
Comment 7 Paul Brenner 2017-07-19 20:53:13 UTC
Added a more up to date sample.

When you push to a different page, and go back, you can see that the height is calculated wrong, because the last image on that page is now under the tabbar.

If you add the workaround, when you pop the page, the first page's content animates when it corrects it self, and doesn't look professional. 

Broken on 2.3.246,, and latest nightly
Comment 8 David Ortinau [MSFT] 2017-08-08 13:44:14 UTC
I cannot confirm the initial report as it's working fine and I don't have iOS 7. It also sounds like another issue we fixed.

Paul's report can be reproduced. To reiterate, the issue isn't apparent at the NavigationBar, but the TabBar.
Comment 9 David Ortinau [MSFT] 2017-12-20 00:08:42 UTC
Migrated to https://github.com/xamarin/Xamarin.Forms/issues/1426

Please subscribe to that issue for future updates.