1

コンテンツをReact Nativeの上から100ピクセルずつ開始しようとしています。私はReact NativeのScrollViewでcontentInsetとcontentOffsetを設定します

const OFFSET = 100 
const ScrollViewTest = (props) => (
    <ScrollView 
    contentInset={{ top: OFFSET }} 
    contentOffset={{ y: OFFSET }} 
    > 
    <Text>Test</Text> 
    </ScrollView> 
) 

で試してみました。しかし、私は、画面を描画するとき、それは0ピクセルから始まりますが、私は少しをスクロールした場合、それは上から100pxにまでスクロールし、そこに滞在します。

したがって、React Nativeは初期化時にcontentOffsetcontentInsetのプロパティをトリガーしません。

どうすればこの問題を解決できますか?私はまた、変更なしでautomaticallyAdjustContentInsets={false}を設定しようとしました。

また、これらのプロパティはiOS専用です。 Androidに類似のプロパティはありますか?

答えて

0

パディングのような効果:

const OFFSET = 100 
const ScrollViewTest = (props) => (
    <ScrollView> 
     <View style={{ height: OFFSET }} /> 
     <Text>Test</Text> 
    </ScrollView> 
) 

ヘッダのような効果:

const OFFSET = 100 
const ScrollViewTest = (props) => (
    <View style={{ paddingTop: OFFSET }}> 
     <ScrollView> 
      <Text>Test</Text> 
     </ScrollView> 
    </View > 
) 
+0

しかし、もし、代わりRefreshControl' 'と' .. ''有する 'の、リフレッシュボタンは、リストの真上ではなく、パディングのような効果の前にあるので、私は同じことを達成することができません:( – Jamgreen

+0

興味深いオーバーフロー: "隠された"この場合 –

0
componentDidMount(){ 
     if(Platform.OS==='ios'){ 
      this.refs._scrollView.scrollToOffset({animated:false,offset:-OFFSET}); 
     } 
    } 

    render(){ 
     return(
      <ScrollView 
       ref="_scrollView" 
       contentInset={{top: OFFSET}} 
      ...> 
       ... 
      </ScrollView> 
     ) 
    } 
関連する問題