My customer has an app where they want to be able to hide the nav bar and status bar on a certain page. I can do this, but when I hide them, I'm left with a white space at the bottom of the page. Restoring the nav and status bar repaints correctly. At the moment I'm only concerned about iOS:
I hide/show the bars with this code (in a custom renderer for the TabbedPage)
UIApplication.SharedApplication.SetStatusBarHidden(!arg, true);
this.NavigationController.SetNavigationBarHidden(!arg, true);
View.SetNeedsLayout();
Unfortunately, the client has placed the Tab controller within a Navigation controller, which I think is the root cause of this. Rearchitecting the app to fix that is beyond the scope of what we can do right now.
So is there a way I can force the tab bar to the bottom of the window and have my inner view size itself accordingly? I notice that if I rotate the app to landscape it resizes correctly, and if I rotate it back to portrait it again resizes correctly. But I'm not sure what I need to do to force that behavior without a rotation.