From 39aadae89d20bb79d77b477e3b1cd0107c4f0a35 Mon Sep 17 00:00:00 2001 From: tj-devel709 Date: Tue, 7 Nov 2023 11:27:24 -0600 Subject: [PATCH 01/27] Changes for enabling translucent navigation bar ios --- .../NavigationPage/iOS/NavigationRenderer.cs | 28 +++++++++++++++++++ .../Shell/iOS/ShellNavBarAppearanceTracker.cs | 19 +++++++++++++ 2 files changed, 47 insertions(+) diff --git a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs index 1cd68a14f0b9..7fa25cc62f92 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -677,6 +677,12 @@ void UpdateBarBackground() { var barBackgroundColor = NavPage.BarBackgroundColor; + if (barBackgroundColor == Colors.Transparent) + { + ApplyTransparentBarBackground(); + return; + } + if (OperatingSystem.IsIOSVersionAtLeast(13) || OperatingSystem.IsMacCatalystVersionAtLeast(13)) { var navigationBarAppearance = NavigationBar.StandardAppearance; @@ -714,6 +720,24 @@ void UpdateBarBackground() } } + void ApplyTransparentBarBackground() + { + if (OperatingSystem.IsIOSVersionAtLeast(13) || OperatingSystem.IsMacCatalystVersionAtLeast(13)) + { + var navBar = new UINavigationBarAppearance(); + navBar.ConfigureWithTransparentBackground(); + NavigationBar.CompactAppearance = NavigationBar.StandardAppearance = NavigationBar.ScrollEdgeAppearance = navBar; + } + else + { + NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); + NavigationBar.ShadowImage = new UIImage(); + NavigationBar.BackgroundColor = UIColor.Clear; + NavigationBar.TintColor = UIColor.Clear; + NavigationBar.BarTintColor = UIColor.Clear; + } + } + void UpdateBarTextColor() { var barTextColor = NavPage.BarTextColor; @@ -1153,6 +1177,10 @@ public void UpdateFrames() !n._navigating ) { + // if the NavigationBar is translucent, we do not want add an offset to the Frame + if (n.NavigationBar.Translucent) + return; + nfloat offset = 0; if (n._hasNavigationBar) diff --git a/src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellNavBarAppearanceTracker.cs b/src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellNavBarAppearanceTracker.cs index b167b308dc79..0d1d48e09486 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellNavBarAppearanceTracker.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/Shell/iOS/ShellNavBarAppearanceTracker.cs @@ -3,6 +3,7 @@ using System.ComponentModel; using System.Runtime.Versioning; using CoreGraphics; +using Microsoft.Maui.Graphics; using ObjCRuntime; using UIKit; @@ -115,6 +116,14 @@ void UpdateiOS15NavigationBarAppearance(UINavigationController controller, Shell if (titleColor != null) navigationBarAppearance.TitleTextAttributes = new UIStringAttributes() { ForegroundColor = titleColor.ToPlatform() }; + // if the BackgroundColor is set to transparent, let's apply translucence as well + // since we cannot call this directly in .NET 8 + if (appearance.BackgroundColor == Colors.Transparent) + { + navigationBarAppearance.ConfigureWithTransparentBackground(); + navBar.Translucent = true; + } + navBar.StandardAppearance = navBar.ScrollEdgeAppearance = navigationBarAppearance; } @@ -137,6 +146,16 @@ void UpdateNavigationBarAppearance(UINavigationController controller, ShellAppea ForegroundColor = titleColor.ToPlatform() }; } + + if (appearance.BackgroundColor == Colors.Transparent) + { + navBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); + navBar.ShadowImage = new UIImage(); + navBar.BackgroundColor = UIColor.Clear; + navBar.TintColor = UIColor.Clear; + navBar.BarTintColor = UIColor.Clear; + navBar.Translucent = true; + } } } } \ No newline at end of file From 80e96deb8c07d0ccafd178ed8a13cd9b10612190 Mon Sep 17 00:00:00 2001 From: tj-devel709 Date: Tue, 5 Dec 2023 02:36:55 -0600 Subject: [PATCH 02/27] Add UITest for NavigationPage Safe Area Translucence --- .../CoreViews/CorePageView.cs | 1 + .../CoreViews/CoreRootPage.cs | 9 ++++ .../Elements/NavBarTranslucentGalleryPage.cs | 15 +++++++ .../Elements/NavBarTranslucentPage.xaml | 14 +++++++ .../Elements/NavBarTranslucentPage.xaml.cs | 23 +++++++++++ .../UITests/Tests/NavBarTranslucentTest.cs | 41 +++++++++++++++++++ 6 files changed, 103 insertions(+) create mode 100644 src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs create mode 100644 src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml create mode 100644 src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs create mode 100644 src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs diff --git a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs index fc4b37e9608f..35e9869e4e70 100644 --- a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs +++ b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs @@ -68,6 +68,7 @@ public override string ToString() new GalleryPageFactory(() => new KeyboardScrollingScrollingPageSmallTitlesGallery(), "Keyboard Scrolling Gallery - Scrolling Page / Small Titles"), new GalleryPageFactory(() => new LabelCoreGalleryPage(), "Label Gallery"), new GalleryPageFactory(() => new ListViewCoreGalleryPage(), "ListView Gallery"), + new GalleryPageFactory(() => new NavBarTranslucentGalleryPage(), "NavBarTranslucent Gallery"), new GalleryPageFactory(() => new PickerCoreGalleryPage(), "Picker Gallery"), new GalleryPageFactory(() => new ProgressBarCoreGalleryPage(), "Progress Bar Gallery"), new GalleryPageFactory(() => new RadioButtonCoreGalleryPage(), "RadioButton Gallery"), diff --git a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs index a2d15d58edc3..bed563bd6c25 100644 --- a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs +++ b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs @@ -60,5 +60,14 @@ public CoreRootPage(Microsoft.Maui.Controls.Page rootPage) Content = stackLayout; } + + protected override void OnAppearing() + { + base.OnAppearing(); + + // reset the InitNavigationPageStyling in case a test changed it + if (Microsoft.Maui.Controls.Application.Current.MainPage is Microsoft.Maui.Controls.NavigationPage nav) + CoreNavigationPage.InitNavigationPageStyling(nav); + } } } \ No newline at end of file diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs new file mode 100644 index 000000000000..b108d7e771d4 --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs @@ -0,0 +1,15 @@ +using Microsoft.Maui.Controls.Internals; +using Microsoft.Maui.Controls.PlatformConfiguration; +using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; + +namespace Maui.Controls.Sample +{ + [Preserve(AllMembers = true)] + public class NavBarTranslucentGalleryPage : ContentViewGalleryPage + { + public NavBarTranslucentGalleryPage() + { + Content = new NavBarTranslucentPage(); + } + } +} diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml new file mode 100644 index 000000000000..938876d1b8ca --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml @@ -0,0 +1,14 @@ + + + + + + diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs new file mode 100644 index 000000000000..46f9afc0cba7 --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs @@ -0,0 +1,23 @@ +using Microsoft.Maui.Controls; +using Microsoft.Maui.Controls.Xaml; +using Microsoft.Maui.Graphics; +using UIKit; +using Microsoft.Maui.Controls.PlatformConfiguration; +using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; + +namespace Maui.Controls.Sample; + +[XamlCompilation(XamlCompilationOptions.Compile)] +public partial class NavBarTranslucentPage : ContentView +{ + public NavBarTranslucentPage() + { + InitializeComponent(); + if (Microsoft.Maui.Controls.Application.Current.MainPage is Microsoft.Maui.Controls.NavigationPage nav) + { + nav.BarBackgroundColor = Colors.Transparent; + nav.On().SetHideNavigationBarSeparator(true); + nav.On().EnableTranslucentNavigationBar(); + } + } +} diff --git a/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs b/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs new file mode 100644 index 000000000000..e0e07edcdefd --- /dev/null +++ b/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs @@ -0,0 +1,41 @@ +using Maui.Controls.Sample; +using NUnit.Framework; +using UITest.Core; +using OpenQA.Selenium.Appium; +using OpenQA.Selenium.Appium.MultiTouch; +using UITest.Appium; + +namespace Microsoft.Maui.AppiumTests +{ + public class NavBarTranslucentTest : UITest + { + const string KeyboardScrollingGallery = "NavBarTranslucent Gallery"; + public NavBarTranslucentTest(TestDevice device) + : base(device) + { + } + + protected override void FixtureSetup() + { + base.FixtureSetup(); + App.NavigateToGallery(KeyboardScrollingGallery); + } + + protected override void FixtureTeardown() + { + base.FixtureTeardown(); + this.Back(); + } + + [Test] + public void NavigationBarIsTranslucent() + { + this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, "This test is only for iOS"); + + var boxView = App.WaitForElement("TopBoxView"); + Assert.NotNull(boxView); + var rect = boxView.GetRect(); + Assert.AreEqual(rect.Y, 0); + } + } +} From 1f8d1e1e5132e3d3778addfea6035ffa754b42be Mon Sep 17 00:00:00 2001 From: tj-devel709 Date: Wed, 13 Dec 2023 09:53:17 -0600 Subject: [PATCH 03/27] remove UIKit --- .../Elements/NavBarTranslucentPage.xaml.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs index 46f9afc0cba7..ed9f5a0b525a 100644 --- a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs +++ b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs @@ -1,7 +1,6 @@ using Microsoft.Maui.Controls; using Microsoft.Maui.Controls.Xaml; using Microsoft.Maui.Graphics; -using UIKit; using Microsoft.Maui.Controls.PlatformConfiguration; using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; From 4a6e808c3f583e4229d9dfee4be099f45ae0d56c Mon Sep 17 00:00:00 2001 From: tj-devel709 Date: Wed, 13 Dec 2023 15:13:30 -0600 Subject: [PATCH 04/27] Move UITest from gallery to Issues --- .../CoreViews/CorePageView.cs | 1 - .../CoreViews/CoreRootPage.cs | 9 ---- .../Elements/NavBarTranslucentGalleryPage.cs | 15 ------ .../Elements/NavBarTranslucentPage.xaml.cs | 22 --------- .../Issue17022.xaml} | 6 +-- .../Issues/Issue17022.xaml.cs | 46 +++++++++++++++++++ .../tests/UITests/Tests/Issues/Issue17022.cs | 26 +++++++++++ .../UITests/Tests/NavBarTranslucentTest.cs | 41 ----------------- 8 files changed, 75 insertions(+), 91 deletions(-) delete mode 100644 src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs delete mode 100644 src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs rename src/Controls/samples/Controls.Sample.UITests/{Elements/NavBarTranslucentPage.xaml => Issues/Issue17022.xaml} (83%) create mode 100644 src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml.cs create mode 100644 src/Controls/tests/UITests/Tests/Issues/Issue17022.cs delete mode 100644 src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs diff --git a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs index 35e9869e4e70..fc4b37e9608f 100644 --- a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs +++ b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CorePageView.cs @@ -68,7 +68,6 @@ public override string ToString() new GalleryPageFactory(() => new KeyboardScrollingScrollingPageSmallTitlesGallery(), "Keyboard Scrolling Gallery - Scrolling Page / Small Titles"), new GalleryPageFactory(() => new LabelCoreGalleryPage(), "Label Gallery"), new GalleryPageFactory(() => new ListViewCoreGalleryPage(), "ListView Gallery"), - new GalleryPageFactory(() => new NavBarTranslucentGalleryPage(), "NavBarTranslucent Gallery"), new GalleryPageFactory(() => new PickerCoreGalleryPage(), "Picker Gallery"), new GalleryPageFactory(() => new ProgressBarCoreGalleryPage(), "Progress Bar Gallery"), new GalleryPageFactory(() => new RadioButtonCoreGalleryPage(), "RadioButton Gallery"), diff --git a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs index bed563bd6c25..a2d15d58edc3 100644 --- a/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs +++ b/src/Controls/samples/Controls.Sample.UITests/CoreViews/CoreRootPage.cs @@ -60,14 +60,5 @@ public CoreRootPage(Microsoft.Maui.Controls.Page rootPage) Content = stackLayout; } - - protected override void OnAppearing() - { - base.OnAppearing(); - - // reset the InitNavigationPageStyling in case a test changed it - if (Microsoft.Maui.Controls.Application.Current.MainPage is Microsoft.Maui.Controls.NavigationPage nav) - CoreNavigationPage.InitNavigationPageStyling(nav); - } } } \ No newline at end of file diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs deleted file mode 100644 index b108d7e771d4..000000000000 --- a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentGalleryPage.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Microsoft.Maui.Controls.Internals; -using Microsoft.Maui.Controls.PlatformConfiguration; -using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; - -namespace Maui.Controls.Sample -{ - [Preserve(AllMembers = true)] - public class NavBarTranslucentGalleryPage : ContentViewGalleryPage - { - public NavBarTranslucentGalleryPage() - { - Content = new NavBarTranslucentPage(); - } - } -} diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs b/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs deleted file mode 100644 index ed9f5a0b525a..000000000000 --- a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.Maui.Controls; -using Microsoft.Maui.Controls.Xaml; -using Microsoft.Maui.Graphics; -using Microsoft.Maui.Controls.PlatformConfiguration; -using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; - -namespace Maui.Controls.Sample; - -[XamlCompilation(XamlCompilationOptions.Compile)] -public partial class NavBarTranslucentPage : ContentView -{ - public NavBarTranslucentPage() - { - InitializeComponent(); - if (Microsoft.Maui.Controls.Application.Current.MainPage is Microsoft.Maui.Controls.NavigationPage nav) - { - nav.BarBackgroundColor = Colors.Transparent; - nav.On().SetHideNavigationBarSeparator(true); - nav.On().EnableTranslucentNavigationBar(); - } - } -} diff --git a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml similarity index 83% rename from src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml rename to src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml index 938876d1b8ca..3d449cdcbe99 100644 --- a/src/Controls/samples/Controls.Sample.UITests/Elements/NavBarTranslucentPage.xaml +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml @@ -1,8 +1,8 @@  - + diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml.cs b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml.cs new file mode 100644 index 000000000000..171dcdaf8dc6 --- /dev/null +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml.cs @@ -0,0 +1,46 @@ +using Microsoft.Maui.Controls; +using Microsoft.Maui.Controls.Xaml; +using Microsoft.Maui.Graphics; +using Microsoft.Maui.Controls.PlatformConfiguration; +using Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific; + +namespace Maui.Controls.Sample.Issues; + +[XamlCompilation(XamlCompilationOptions.Compile)] +[Issue(IssueTracker.Github, 17022, "UINavigationBar is Translucent", PlatformAffected.iOS)] +public partial class Issue17022 : ContentPage +{ + Color _initialBarBackgroundColor; + bool _initialTranslucent; + + public Issue17022() + { + InitializeComponent(); + } + + protected override void OnAppearing() + { + base.OnAppearing(); + if (Parent is Microsoft.Maui.Controls.NavigationPage nav) + { + _initialBarBackgroundColor = nav.BarBackgroundColor; + _initialTranslucent = nav.On().IsNavigationBarTranslucent(); + + nav.BarBackgroundColor = Colors.Transparent; + nav.On().SetHideNavigationBarSeparator(true); + nav.On().EnableTranslucentNavigationBar(); + } + } + protected override void OnDisappearing() + { + base.OnDisappearing(); + if (Parent is Microsoft.Maui.Controls.NavigationPage nav) + { + nav.BarBackgroundColor = _initialBarBackgroundColor; + if (_initialTranslucent) + nav.On().EnableTranslucentNavigationBar(); + else + nav.On().DisableTranslucentNavigationBar(); + } + } +} diff --git a/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs b/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs new file mode 100644 index 000000000000..318246fce1bd --- /dev/null +++ b/src/Controls/tests/UITests/Tests/Issues/Issue17022.cs @@ -0,0 +1,26 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.AppiumTests.Issues +{ + public class Issue17022 : _IssuesUITest + { + public Issue17022(TestDevice device) + : base(device) + { } + + public override string Issue => "UINavigationBar is Translucent"; + + [Test] + public void Issue17022Test() + { + this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, "This test is only for iOS"); + + var boxView = App.WaitForElement("TopBoxView"); + Assert.NotNull(boxView); + var rect = boxView.GetRect(); + Assert.AreEqual(rect.Y, 0); + } + } +} diff --git a/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs b/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs deleted file mode 100644 index e0e07edcdefd..000000000000 --- a/src/Controls/tests/UITests/Tests/NavBarTranslucentTest.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Maui.Controls.Sample; -using NUnit.Framework; -using UITest.Core; -using OpenQA.Selenium.Appium; -using OpenQA.Selenium.Appium.MultiTouch; -using UITest.Appium; - -namespace Microsoft.Maui.AppiumTests -{ - public class NavBarTranslucentTest : UITest - { - const string KeyboardScrollingGallery = "NavBarTranslucent Gallery"; - public NavBarTranslucentTest(TestDevice device) - : base(device) - { - } - - protected override void FixtureSetup() - { - base.FixtureSetup(); - App.NavigateToGallery(KeyboardScrollingGallery); - } - - protected override void FixtureTeardown() - { - base.FixtureTeardown(); - this.Back(); - } - - [Test] - public void NavigationBarIsTranslucent() - { - this.IgnoreIfPlatforms(new TestDevice[] { TestDevice.Android, TestDevice.Mac, TestDevice.Windows }, "This test is only for iOS"); - - var boxView = App.WaitForElement("TopBoxView"); - Assert.NotNull(boxView); - var rect = boxView.GetRect(); - Assert.AreEqual(rect.Y, 0); - } - } -} From a1b4ad92d8d0e0af33ac3b7be738344589929b53 Mon Sep 17 00:00:00 2001 From: tj-devel709 Date: Thu, 14 Dec 2023 17:34:20 -0600 Subject: [PATCH 05/27] push a new page for UITests, consolidate code, and save shadowimage --- .../Issues/Issue17022.xaml | 10 +-- .../Issues/Issue17022.xaml.cs | 77 ++++++++++++++----- .../NavigationPage/iOS/NavigationRenderer.cs | 15 ++-- .../Shell/iOS/ShellNavBarAppearanceTracker.cs | 18 +++-- .../tests/UITests/Tests/Issues/Issue17022.cs | 6 +- 5 files changed, 89 insertions(+), 37 deletions(-) diff --git a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml index 3d449cdcbe99..a2ac35c949d6 100644 --- a/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml +++ b/src/Controls/samples/Controls.Sample.UITests/Issues/Issue17022.xaml @@ -4,11 +4,11 @@ AutomationId="NavBarTranslucentPage" x:Class="Maui.Controls.Sample.Issues.Issue17022" xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls" - ios:Page.UseSafeArea="False" - ios:NavigationPage.IsNavigationBarTranslucent="True" - ios:NavigationPage.HideNavigationBarSeparator="True"> + ios:Page.UseSafeArea="False"> - -