Repository navigation
Replies: 1 comment
|
Hi @tikihak |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What iOS 26 does
On iOS 26, a tab created as
UISearchTabis lifted out of the tab bar anddrawn as its own circular button beside it, rather than sitting inline with the
other tabs. Apple's own apps (Books, News) ship this. It is not styling applied
to a normal tab - it is a distinct tab type, handed to the controller through
the
tabsAPI introduced in iOS 18:What react-native-screens does today (4.28.0)
systemItem: 'search'maps to the pre-iOS-18UITabBarItemsystem item, whichrenders inline like any other tab:
ios/conversion/RNSConversions-Tabs.mm-RNSTabsScreenSystemItemSearch→UITabBarSystemItemSearchios/tabs/screen/RNSTabsScreenComponentView.mm- each tab is built as[[UITabBarItem alloc] initWithTabBarSystemItem:systemItem tag:0]ios/tabs/host/RNSTabBarController.mm- the controller is populated withsetViewControllers:, never thetabsarrayUISearchTabappears nowhere in the package. Checked 4.25.2, 4.28.0 and5.0.0-alpha.2 - all three behave the same.
Why a prop alone cannot fix it
Because the detached rendering follows from the tab's type, and the type is
only expressible through
UITabBarController.tabs. A library usingsetViewControllers:has no object to make aUISearchTabout of.Suggested shape
A screen-level option, e.g.
role: 'search'(or extendingsystemItem), thatmakes the host build the tab as
UISearchTabon iOS 26+, falling back to thecurrent
UITabBarSystemItemSearchbelow it. That likely means the host adoptingthe
tabsAPI on iOS 18+, which is the bigger part of the work.Environment
react-native-screens4.28.0 (also 4.25.2, 5.0.0-alpha.2)@react-navigation/bottom-tabs7.16.2, native tabs (/unstable)Context
React Navigation documents special iOS 26 behaviour for
tabBarSystemItem: 'search'- the tab bar transforming into a search field - which does work. Thedetached pill is a separate capability and is what this request is about.
All reactions