software-mansion / software-mansion/react-native-screens
[iOS] Large title does not collapse if scroll view is displayed after a delay
@maciekstosio is already working on this.
Since Apr 16, 2025.
- Dominant language
- TypeScript
- Stars
- 3.7k
- Forks
- 713
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 71
Description
Description
The navigation bar with a large title does not collapse if a scroll view is rendered after a delay, e.g. if data is loaded from the network and another view is shown as a placeholder. Additionally, the refresh control remains inside the scroll view, instead of being repositioned inside the navigation bar.
After rotating the device to landscape and going back to portrait, the large title collapses as expected and the refresh control is inside the navigation bar.
I suspect that an additional layout pass should be triggered in the navigation bar when the scroll view is mounted, though I am not sure which component should be in charge of that. In fact, I am not entirely sure whether this issue belongs here, in react-navigation or react-native. If you believe it should be resolved somewhere else, I am happy to open a new issue in the appropriate repo.
Steps to reproduce
- Create a stack navigator with a single
Homescreen and enableheaderLargeTitlein the options prop - Define the
Homescreen as a bottom navigator with a single screen (and hide the header in the props) - Define the screen as a component that shows a placeholder, and after a couple of seconds displays a scroll view with a refresh control
https://github.com/user-attachments/assets/aff207d2-7f28-49d4-8133-915a889598a2
Snack or a link to a repository
https://snack.expo.dev/@erudel/0a1940
Screens version
4.4.0
React Native version
0.77
Platforms
iOS
JavaScript runtime
None
Workflow
None
Architecture
Fabric (New Architecture)
Build type
None
Device
iOS simulator
Device model
No response
Acknowledgements
Yes
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.