Created attachment 18791 [details]
Sample Project with IsNavigationBarTranslucent Platform Specific
Attempting to set the new platform-specific used to change the transparency of the navigation bar does not work.
- Consuming as an attached property in the XAML
- Consuming using the fluent API in code.
This issue is present in the current release of Xamarin.Forms 126.96.36.199-stable.
Please see attached sample project for a repro.
Note: Further investigation and testing using a custom NavigationPage renderer, shows that setting NavigationBar.Translucent now has no effect in XF 2.3.3. Whereas previously this worked in XF 2.3.2!
It appears this may be related to a change in PR 301.
See new line 827:
EdgesForExtendedLayout = UIRectEdge.None
Using Reveal as a view debugger shows the Translucent property is being set on the NavigationBar, but the EdgesForExtendedLayout value is preventing the view from extending its layout to fill the whole screen.
Can you test it in 188.8.131.52?
Yes, this issue is also present in 184.108.40.206.
I can confirm it is the EdgesForExtendedLayout property in the NavigationRenderer.
The following workaround fixes the problem in the ViewWillAppear() method using a custom page renderer on iOS:
public override void ViewWillAppear(bool animated)
var parent = ParentViewController;
if (parent != null)
parent.EdgesForExtendedLayout = NavigationController.NavigationBar.Translucent
So, EdgesForExtendedLayout needs to be set dependent on the state of NavigationBar.Translucent.
See PR: https://github.com/xamarin/Xamarin.Forms/pull/621
Should be fixed in 2.3.4-pre1