【问题标题】:How to disable scroll inside a particular view?如何禁用特定视图内的滚动?
【发布时间】:2021-11-23 15:33:21
【问题描述】:

我试图让 ScrollView 仅在滑动特定视图时水平滚动 像这样:

<ScrollView horizontal={true}>
 <View style={styles.TopView}></View>
 <View style={styles.BottomView} Scrollable={false}></View>
</ScrollView>

我正在考虑使用这样的钩子禁用滚动 OnPressIn:

const [Scrollmove, setScrollmove] = useState(true);

    <ScrollView horizontal={true} scrollEnabled ={Scrollmove}>
     <View style={styles.TopView}></View>
     <Pressable 
       onPressIn={()=>{setScrollmove(false)}} 
       onPressOut={()=>{setScrollmove(true)}}>
       <View style={styles.BottomView}></View>
     </Pressable>
    </ScrollView>

但我不知道它是否会起作用,有没有更好的方法来达到预期的效果?

注意:我上面写的代码段是伪代码

【问题讨论】:

    标签: javascript android ios react-native scrollview


    【解决方案1】:

    你不能那样做。但是,您可以更改您的设计,例如,划分屏幕,一半可以滚动,另一半可以保留。

    <View style={styles.TopView}>
       <Text>Stay</Text>
    </View>
    <ScrollView horizontal={true}>
     <View style={styles.BottomView} Scrollable={false}>
     <Text>Scrollable</Text>
    </View>
    </ScrollView>
    

    【讨论】:

    • 其实我需要两个视图同时滚动,但只有顶部的视图控制滚动本身
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多