Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions apps/src/tests/Test2611.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { ScrollView, Text } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { useHeaderHeight } from '@react-navigation/elements';

const Stack = createNativeStackNavigator();

function HomeScreen() {
const margin = useHeaderHeight();

return (
<ScrollView style={{
marginTop: margin,
}}>
<Text style={{textAlign: "center"}}>focus and then cancel to see if position updates</Text>
</ScrollView>
);
}

function RootStack() {
return (
<Stack.Navigator>
<Stack.Screen name="InitialScreen" component={HomeScreen} options={{
headerSearchBarOptions: {},
}} />
</Stack.Navigator>
);
}

export default function App() {
return (
<NavigationContainer>
<RootStack />
</NavigationContainer>
);
}
1 change: 1 addition & 0 deletions apps/src/tests/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ export { default as Test2379 } from './Test2379';
export { default as Test2395 } from './Test2395';
export { default as Test2466 } from './Test2466';
export { default as Test2552 } from './Test2552';
export { default as Test2611 } from './Test2611';
export { default as Test2631 } from './Test2631';
export { default as Test2668 } from './Test2668';
export { default as Test2675 } from './Test2675';
Expand Down
4 changes: 3 additions & 1 deletion ios/RNSScreenStack.mm
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,13 @@ - (void)viewDidLayoutSubviews
BOOL isNotDismissingModal = screenController.presentedViewController == nil ||
(screenController.presentedViewController != nil &&
![screenController.presentedViewController isBeingDismissed]);
BOOL isPresentingSearchController =
[screenController.presentedViewController isKindOfClass:UISearchController.class];

// Calculate header height during simple transition from one screen to another.
// If RNSScreen includes a navigation controller of type RNSNavigationController, it should not calculate
// header height, as it could have nested stack.
if (![screenController hasNestedStack] && isNotDismissingModal) {
if (![screenController hasNestedStack] && (isPresentingSearchController || isNotDismissingModal)) {
[screenController calculateAndNotifyHeaderHeightChangeIsModal:NO];
}

Expand Down
Loading