Skip to content

Conversation

@kligarski
Copy link
Contributor

@kligarski kligarski commented Dec 1, 2025

Description

Fixes overrideScrollViewContentInsetAdjustmentBehavior in managed tabs on iOS, Fabric.

before after
before3441.mov
after3441.mov

Paper

On Paper, due to the order of mounting children, we are unable to consistently find and override scroll view behavior in time (when the entire hierarchy is mounted under screen but before screen is shown). The best solution I found (dispatch_async in didUpdateReactSubviews) worked 50% of the time.

For now, we decided not to implement support for the prop on Paper.

Ticket to research Paper support: https://github.com/software-mansion/react-native-screens-labs/issues/283.

Changes

  • move finding ScrollView and applying behavior override + scroll edge effects to mountChildComponentView

Test code and steps to reproduce

Run TestBottomTabs. Change Tab4 to use transparent header on first screen. Open Tab3, Tab4. ScrollViews should respect safe area insets.

Use controlled and managed bottom tabs, with and without freeze.

Checklist

  • Included code example that can be used to test this change
  • Updated documentation
  • Ensured that CI passes

@kligarski kligarski marked this pull request as ready for review December 1, 2025 13:43
@kligarski kligarski self-assigned this Dec 1, 2025
@kligarski kligarski added Type: Bug Something isn't working Platform: iOS This issue is specific to iOS Architecture: New Issues related only to new architecture Area: Tabs Issue is related to native bottom tabs labels Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Architecture: New Issues related only to new architecture Area: Tabs Issue is related to native bottom tabs Platform: iOS This issue is specific to iOS Type: Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants