feat(TabView): use UITab with iOS 18+ and allow search role usage #11008
+126
−32
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support iOS 18's improved UITab-based API, while maintaining compatibility with earlier iOS versions. The changes ensure correct tab rendering, allow for new tab roles, and improve accessory layout behavior.
iOS 18+ UITab API Support:
TabViewItemandTabViewto use UITab and UISearchTab, based on role, for tab management on iOS 18+, falling back to UITabBarItem for earlier versions.roleproperty onTabViewItem, allowing for roles like'search'to trigger specialized tab behavior on iOS 18+. [1] [2]Accessory and Layout Improvements:
NSTabAccessoryContainerto respond to trait collection changes (e.g., size class changes), ensuring accessories are correctly sized and laid out during UI transitions.