--- title: Use contentInsetAdjustmentBehavior for Safe Areas impact: MEDIUM impactDescription: native safe area handling, no layout shifts tags: safe-area, scrollview, layout --- ## Use contentInsetAdjustmentBehavior for Safe Areas Use `contentInsetAdjustmentBehavior="automatic"` on the root ScrollView instead of wrapping content in SafeAreaView or manual padding. This lets iOS handle safe area insets natively with proper scroll behavior. **Incorrect (SafeAreaView wrapper):** ```tsx import { SafeAreaView, ScrollView, View, Text } from 'react-native' function MyScreen() { return ( Content ) } ``` **Incorrect (manual safe area padding):** ```tsx import { ScrollView, View, Text } from 'react-native' import { useSafeAreaInsets } from 'react-native-safe-area-context' function MyScreen() { const insets = useSafeAreaInsets() return ( Content ) } ``` **Correct (native content inset adjustment):** ```tsx import { ScrollView, View, Text } from 'react-native' function MyScreen() { return ( Content ) } ``` The native approach handles dynamic safe areas (keyboard, toolbars) and allows content to scroll behind the status bar naturally.