ios26-navigation

Maps iOS 26 Liquid Glass navigation APIs to react-native-navigation implementation and debugging workflows.

13.2k|2.6k|Updated Mar 11, 2016
One-click install
npx skills add https://github.com/wix/react-native-navigation --skill ios26-navigation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ios26-navigation
Source: https://github.com/wix/react-native-navigation/tree/main/.cursor/skills/ios26-navigation
Command: npx skills add https://github.com/wix/react-native-navigation --skill ios26-navigation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

iOS 26 introduced Liquid Glass materials, floating tab bars, shared-background platters, and new search placements that silently change how navigation bars, tab bars, and toolbars behave. This Skill gives you a complete reference of those APIs plus exactly how react-native-navigation (RNN) maps to them, so you can add iOS 26 features or fix iOS 26-only regressions without reverse-engineering UIKit internals.

Core Features & Use Cases

  • iOS 26 API reference: Covers Liquid Glass materials, UITab/UITabGroup, bottomAccessory, scroll-edge effects, search bar placement, hidesSharedBackground, UIBarButtonItemGroup, UIGlassEffect, UINavigationItem styles, concentric corners, UISheetPresentationController changes, and SF Symbols 7.
  • RNN code mapping: Each API lists the exact RNN files that handle it (e.g. BottomTabsAppearancePresenter.mm, RNNUIBarButtonItem.mm, RNNBottomTabsController.mm) and which options are or are not yet exposed in Options.ts.
  • Guided workflows: Step-by-step procedures for adding a new iOS 26 option (JS option → parser → presenter → playground screen → e2e → docs) and for investigating iOS 26-only regressions, including a known trouble-spot table with related PRs.
  • Use Case: A custom React bar button appears blank during push transitions on iOS 26. The Skill explains the 44pt host-view sizing race and platter snapshot behavior, pointing you to the pinning logic in RNNUIBarButtonItem.mm and RNNReactButtonView.mm.

Quick Start

Use the ios26-navigation skill to explain why my custom right bar button snaps into place after the screen appears on iOS 26 and how to fix it in RNN.

Frequently Asked Questions about ios26-navigation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new iOS 26 navigation option to react-native-navigation?

Add the JS option in lib/src/interfaces/Options.ts, parse it in the matching *Options.mm file, apply it in the appropriate presenter guarded by @available(iOS 26.0, *), then add a playground screen, an e2e test, and docs. Verify with a Release build on an iOS 26 simulator and an iOS 18 simulator for regressions.

Why does my custom bar button appear blank or misplaced on iOS 26?

UIKit sizes the bar button host view from the customView's intrinsic size at layout time, but React mounts asynchronously, so the host reserves zero width and relayouts later. RNN fixes this by pinning the custom view to 44x44 in RNNUIBarButtonItem.mm and centering it post-mount in RNNReactButtonView.mm.

Does react-native-navigation support iOS 26 UITab and sidebar tabs?

No. RNN currently uses the legacy viewControllers API on UITabBarController. UITab, UITabGroup, UISearchTab, sidebar mode, and top tab bar placement would require a new code path in RNNBottomTabsController plus new options in Options.ts.

Why is my opaque navigation bar or tab bar still translucent on iOS 26?

iOS 26 overlays Liquid Glass on bars even with configureWithOpaqueBackground unless you also set the appearance's backgroundEffect to nil. RNN handles this in BottomTabsAppearancePresenter.mm and TopBarAppearancePresenter.mm by combining transparent configuration, nil backgroundEffect, and an explicit background color.

What is hidesSharedBackground and when should I use it?

hidesSharedBackground opts a UIBarButtonItem out of the iOS 26 shared Liquid Glass platter that wraps bar items. RNN defaults it to YES for icon and custom React view buttons to avoid double-decoration, and exposes it via RNNButtonOptions.hideSharedBackground.

Should I build Debug or Release when verifying iOS 26 navigation changes?

Always build Release with the Xcode 26.1 toolchain on an iPhone 17 Pro Max simulator. Debug builds mask iOS 26 layout and transition issues, and you should also re-verify on an iOS 18 simulator to catch regressions.