Try to use flexGrow instead of flex. When setting styles for the ScrollView, avoid using flex: 1 in the contentContainerStyle. Instead, use flexGrow: 1.
This allows the content to expand and fill the available space without breaking the scrolling functionality.
At the top of that there is a fixed height (like height: '100%') on the parent component, consider removing it or setting it to a more dynamic value. Fixed heights can restrict the ability of the ScrollView to function properly.