callstack / callstack/react-native-bottom-tabs

Couldn't hide header with `headerShown` with some specific device

Open
#294 9 comments 0 reactions 0 assignees View on GitHub
bug Needs: Author Feedback Needs: Repro
Dominant language
TypeScript
Stars
1.5k
Forks
109
Avg merge
11h 44m
Merged PRs (30d)
8

Description

### Before submitting a new issue

- [x] I tested using the latest version of the library, as the bug might be already fixed.
- [x] I tested using a [supported version](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md) of react native.
- [x] I checked for possible duplicate issues, with possible answers.

### Bug summary

## Code
```
}
screenOptions={{
headerShown: false,
}}
>
```
## Result
- iPhone 7Plus (physical device): ios 15.8.3 (the one got issue)
7plus1
7plus2

- iPhone 16 Pro Max (emulator): ios 18.2 (working fine)
7plus2
7plus2

### Library version

0.8.6

### Environment info

```shell
npx react-native info
info Fetching system and libraries information...
System:
OS: macOS 15.3
CPU: (10) arm64 Apple M4
Memory: 146.67 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.20.5
path: ~/.nvm/versions/node/v18.20.5/bin/node
Yarn:
version: 3.6.4
path: ~/.nvm/versions/node/v18.20.5/bin/yarn
npm:
version: 10.8.2
path: ~/.nvm/versions/node/v18.20.5/bin/npm
Watchman:
version: 2024.12.02.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.14.3
path: /Users/tuanluong/.rvm/gems/ruby-3.3.1/bin/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK:
API Levels:
- "34"
- "35"
Build Tools:
- 28.0.3
- 29.0.2
- 29.0.3
- 30.0.2
- 30.0.3
- 31.0.0
- 32.0.0
- 33.0.0
- 33.0.1
- 34.0.0
- 35.0.0
System Images:
- android-34 | Google Play ARM 64 v8a
- android-35 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: Not Found
Xcode:
version: 16.2/16C5032a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 23.0.1
path: /Users/tuanluong/.sdkman/candidates/java/current/bin/javac
Ruby:
version: 3.3.1
path: /Users/tuanluong/.rvm/rubies/ruby-3.3.1/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.0.1
wanted: 15.0.1
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.77.0
wanted: 0.77.0
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
```

### Steps to reproduce

Just add tab navigator with custom `tabBar` and `headerShown` is false

### Reproducible sample code

```js
}
screenOptions={{
headerShown: false,
}}
>
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the Tab.Navigator configuration with a custom tabBar and headerShown set to false on a physical iPhone 7 Plus running iOS 15.8.3, then compare it with the working iPhone 16 Pro Max setup. Done means the header stays hidden on the affected device without regressing the working configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, react-native, typescript
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.