-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix timing on iOS Toolbar #12888
Fix timing on iOS Toolbar #12888
Conversation
e18e3ac
to
2e7ff60
Compare
@rmarinho I tested this on a 13.7 and a 14.5 iPhone Let me know if I should test back further from that. |
//Pre iOS 15 | ||
item = item ?? uINavigationBar.FindDescendantView<UIView>(result => | ||
{ | ||
return result.Class.Name?.Contains("UINavigationBarContentView", StringComparison.OrdinalIgnoreCase) == true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rmarinho here's the update that fixes for iOS13/14
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PureWeen seems is failing just 1 test now
This reverts commit 5abffde. # Conflicts: # src/Controls/src/Core/PublicAPI/net-ios/PublicAPI.Unshipped.txt # src/Controls/src/Core/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt
e27ee5a
to
4eb2219
Compare
Adding this one back into the pool for some discussion. This one fixes a bunch of issues and I think we can break apart a few parts of this one. For example, I think just backporting the xplat changes here will fix a number of issues |
When will these changes be available? |
Description of Change
With MAUI we moved the code for processing
Toolbar
logic up into the xplat layer by way of an xplatToolbar
control. This allowed us to consolidate the toolbar logic that was copy and pasted across all platforms and between shell and non-shell. On iOS the shell toolbar management is handled byShellPageToolbarTracker
which gets instantiated for every single page. The code inside that tracker needs to ignore anytoolbar
updates if it's not the currently visible page.iOS is also a little bit tricky to wire up with regards to timing the back button title text. The BackButton text is based on the
UIViewController.NavigationItem
of the previous page so we have to pull theBackButtonBehavior
off the incoming page and set it on theNavItem
of the previous page before the current page is visible.NavigationPage
gets around this by making it so the user has to setNavigationPage.BackButtonTitle
on the previous page.NavigationPage
basically replicates howiOS
propagates back button text where asShell
lets you set the back button text on the currently visible page.Issues Fixed
Fixes #10945
Fixes #11691
Fixes #9269
Fixes #9842
Fixes #9687
Fixes #8335
Fixed #10452