From 768718242fb6ae02e66c95ec504e2099867926a9 Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Sat, 25 Oct 2025 01:34:47 +0200 Subject: [PATCH 1/6] [iOS26] Apply view margins in NavigationRenderer layout Updated the NavigationRenderer on iOS to account for IView margins when calculating the layout rectangle. This ensures that child views are positioned and sized correctly according to their margin properties. --- .../Handlers/NavigationPage/iOS/NavigationRenderer.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 a120b1cdee60..d118352bd6d5 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -2295,8 +2295,13 @@ public override CGRect Frame value.Width = (value.X - xSpace) + value.Width; value.X = xSpace; } + + if (_child?.VirtualView is IView view) + { + var margin = view.Margin; + value = new RectangleF(value.X + (nfloat)margin.Left, value.Y + (nfloat)margin.Top, value.Width - (nfloat)(margin.Left + margin.Right), value.Height + (nfloat)(margin.Top + margin.Bottom)); + } } - ; value.Height = ToolbarHeight; } From 7c1a01955cdbc6b1f2466c1f0f0266f529e5ceea Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Fri, 31 Oct 2025 00:56:19 +0100 Subject: [PATCH 2/6] Added a UITest --- .../TestCases.HostApp/Issues/Issue32200.xaml | 18 ++++++++++++++++++ .../Issues/Issue32200.xaml.cs | 15 +++++++++++++++ .../Tests/Issues/Issue32200.cs | 19 +++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml b/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml new file mode 100644 index 000000000000..1d19d535b74a --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml.cs new file mode 100644 index 000000000000..3ca1badf773b --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue32200.xaml.cs @@ -0,0 +1,15 @@ +namespace Maui.Controls.Sample.Issues; + +[XamlCompilation(XamlCompilationOptions.Compile)] +[Issue(IssueTracker.Github, 32200, "NavigationPage TitleView iOS 26", PlatformAffected.iOS)] +public class Issue32200NavigationPage : NavigationPage +{ + public Issue32200NavigationPage() : base(new Issue32200()) { } +} +public partial class Issue32200 : ContentPage +{ + public Issue32200() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs new file mode 100644 index 000000000000..4ddf18c0855a --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs @@ -0,0 +1,19 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues; + +public class Issue32200 : _IssuesUITest +{ + public override string Issue => "NavigationPage TitleView iOS 26"; + public Issue32200(TestDevice device) : base(device) { } + + [Test] + [Category(UITestCategories.Navigation)] + public void NavagionPageTitleViewShouldRespectMargins() + { + App.WaitForElement("Label"); + VerifyScreenshot(); + } +} From a43b56281d4551c61a364925d19f001860ec511a Mon Sep 17 00:00:00 2001 From: Jakub Florkowski <42434498+kubaflo@users.noreply.github.com> Date: Tue, 4 Nov 2025 23:48:17 +0100 Subject: [PATCH 3/6] Applied agent's suggestions --- .../Handlers/NavigationPage/iOS/NavigationRenderer.cs | 9 ++++++++- .../TestCases.Shared.Tests/Tests/Issues/Issue32200.cs | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) 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 d118352bd6d5..7c75463f7e67 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -2299,7 +2299,14 @@ public override CGRect Frame if (_child?.VirtualView is IView view) { var margin = view.Margin; - value = new RectangleF(value.X + (nfloat)margin.Left, value.Y + (nfloat)margin.Top, value.Width - (nfloat)(margin.Left + margin.Right), value.Height + (nfloat)(margin.Top + margin.Bottom)); + + // Removed height from calculation since it's overwritten anyway + value = new RectangleF( + value.X + (nfloat)margin.Left, + value.Y + (nfloat)margin.Top, + value.Width - (nfloat)(margin.Left + margin.Right), + value.Height // Keep original height since it gets overwritten + ); } } diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs index 4ddf18c0855a..cbb124a7cb9f 100644 --- a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32200.cs @@ -11,7 +11,7 @@ public Issue32200(TestDevice device) : base(device) { } [Test] [Category(UITestCategories.Navigation)] - public void NavagionPageTitleViewShouldRespectMargins() + public void NavigationPageTitleViewShouldRespectMargins() { App.WaitForElement("Label"); VerifyScreenshot(); From 42c3a92c75812587f93bed4ec93bed217f564b42 Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Sun, 1 Mar 2026 20:02:00 +0100 Subject: [PATCH 4/6] Add NavigationPageTitleView margin snapshots Add baseline snapshot images for the NavigationPageTitleViewShouldRespectMargins visual test across platforms (Android, Mac, WinUI, iOS and ios-26). These files populate the test snapshots directories so CI visual comparisons can validate title view margin/layout behavior. --- ...igationPageTitleViewShouldRespectMargins.png | Bin 0 -> 23805 bytes ...igationPageTitleViewShouldRespectMargins.png | Bin 0 -> 10387 bytes ...igationPageTitleViewShouldRespectMargins.png | Bin 0 -> 8177 bytes ...igationPageTitleViewShouldRespectMargins.png | Bin 0 -> 28200 bytes ...igationPageTitleViewShouldRespectMargins.png | Bin 0 -> 28200 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/NavigationPageTitleViewShouldRespectMargins.png create mode 100644 src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/NavigationPageTitleViewShouldRespectMargins.png create mode 100644 src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/NavigationPageTitleViewShouldRespectMargins.png create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios-26/NavigationPageTitleViewShouldRespectMargins.png create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/NavigationPageTitleViewShouldRespectMargins.png diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/NavigationPageTitleViewShouldRespectMargins.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/NavigationPageTitleViewShouldRespectMargins.png new file mode 100644 index 0000000000000000000000000000000000000000..25153196ecbc0108c3596c995677338d8ba4b0dd GIT binary patch literal 23805 zcmeI4c~p|?+wW<+)7qKtepY5qdv8e_wS*i2caug=nY+Q9DitMjM8yfI-Ly;7#2FQu z)Y{u2wKPX;R8yp+oB>M|aUw-QMBv=?d(Th^}RmV zbw6|x@73JAGiE`uI94Gn+tn?QGcf0d7<@5 zM59?q>r7OyQ$t4ig#QWH$qZt#@qYdjeplzCYOBIGF@ApG;e-1uEVhK5`#JggwyTh} zZ;Vf^MX#CeSe`Aw32@~zJ6XH<$-Wgkvlt(d;yQ-4culVmMGNST;Q3bX0>gt`*MCNH zRsM1=Y^@%6_&v@YV~8RUsjnaJmhsD^(v9HB%PN^0{{7+)YT(b~l$KTCA=4xr{Dh4D z$9ezPm%=X(QvCf$;ChFZm+Q-v5q|hKHg}k$W?QT282MU`y5ID4M>{c$MGPYui9a&f z+1woTW)lzgl9ZW|nDl4T*c?wizvk^3}icoPeZEQ@)pz93!Ah};#|phVFliW!lpgW+jTlUZ7O;_9pcz# zCUwYm(yz@ZYkDy8b5mS_?;rZh&%eu;FGB2Bv#(=d7+|OnjpObReY)= zxRUJNx82_afoyTQ-;xfec5(8?+&?lf47)?p_>aZnH|Stpb|9si5j)5 z&!PLN09nXQ?~#e2bvC1N_pC=cSs!a+?zT4e)XVI7X-fY}c<|xm>u9VgskUhCDqmNa zHnG%ws|8fTLoQ0DH*8{N6j;0$=wkg}A1dT^TNt(LpvPj8dP;w77N@AA<}N^Yk%k8A z2<%^Yi-}3j4Dk>ydWtw4<

UPN@{Cr5nEcQop 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 literal 0 HcmV?d00001 diff --git a/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/NavigationPageTitleViewShouldRespectMargins.png b/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/NavigationPageTitleViewShouldRespectMargins.png new file mode 100644 index 0000000000000000000000000000000000000000..61930b320b7307510a099c2254f24c08f1bafcfc GIT binary patch literal 10387 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 Date: Wed, 4 Mar 2026 17:27:49 +0100 Subject: [PATCH 5/6] Apply PR review suggestions: defensive width guard and improved comments - Add defensive check to prevent negative width when margins exceed available space - Clarify height comment: container height forced to ToolbarHeight - Document that margins are applied after back button spacing calculations Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Handlers/NavigationPage/iOS/NavigationRenderer.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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 7c75463f7e67..96a05d62e411 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -2300,12 +2300,16 @@ public override CGRect Frame { var margin = view.Margin; - // Removed height from calculation since it's overwritten anyway + // Apply margins AFTER back button spacing calculations + var newWidth = value.Width - (nfloat)(margin.Left + margin.Right); + if (newWidth < 0) + newWidth = 0; + value = new RectangleF( value.X + (nfloat)margin.Left, value.Y + (nfloat)margin.Top, - value.Width - (nfloat)(margin.Left + margin.Right), - value.Height // Keep original height since it gets overwritten + newWidth, + value.Height // Height margins not applied - container height forced to ToolbarHeight on next line ); } } From bcd7faa3e0c2662bea653e3228450b23f2847fe2 Mon Sep 17 00:00:00 2001 From: Jakub Florkowski Date: Wed, 4 Mar 2026 17:30:30 +0100 Subject: [PATCH 6/6] Apply vertical margin to height to keep view within nav bar bounds Subtract top+bottom margins from ToolbarHeight so the title view shrinks inward instead of overflowing the navigation bar. Addresses review feedback about margins pushing the view IN rather than allowing it to escape. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Handlers/NavigationPage/iOS/NavigationRenderer.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 96a05d62e411..e7e6ad7ce2e5 100644 --- a/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs +++ b/src/Controls/src/Core/Compatibility/Handlers/NavigationPage/iOS/NavigationRenderer.cs @@ -2301,6 +2301,7 @@ public override CGRect Frame var margin = view.Margin; // Apply margins AFTER back button spacing calculations + // Margins push the view inward to keep it within the nav bar bounds var newWidth = value.Width - (nfloat)(margin.Left + margin.Right); if (newWidth < 0) newWidth = 0; @@ -2309,12 +2310,19 @@ public override CGRect Frame value.X + (nfloat)margin.Left, value.Y + (nfloat)margin.Top, newWidth, - value.Height // Height margins not applied - container height forced to ToolbarHeight on next line + value.Height ); } } value.Height = ToolbarHeight; + + // Reduce height by vertical margins so the view stays within the nav bar + if (_child?.VirtualView is IView marginView) + { + var verticalMargin = (nfloat)(marginView.Margin.Top + marginView.Margin.Bottom); + value.Height = (nfloat)Math.Max(0, value.Height - verticalMargin); + } } base.Frame = value;