React Native ScrollView在发布后抢回回顶部
发布时间:2020-12-15 05:06:23 所属栏目:百科 来源:网络整理
导读:我在其他应用程序中使用了ScrollView,只添加了样式= {styles.container}的样式.然而,在这个应用程序中,我在我的样式中创建我有alignItems:’flex-start’,它只使用style = {styles.container}抛出一个错误,而你需要传入alignItems:’flex-start’通过conte
我在其他应用程序中使用了ScrollView,只添加了样式= {styles.container}的样式.然而,在这个应用程序中,我在我的样式中创建我有alignItems:’flex-start’,它只使用style = {styles.container}抛出一个错误,而你需要传入alignItems:’flex-start’通过contentContainerStyle = { styles.container}.
错误:不变违规:ScrollView子布局([“alignItems”])必须通过contentContainerStyle prop应用. 但是当我在视图中向下滚动时添加contentContainerStyle时,一旦手指从手机上抬起(或在模拟器中释放鼠标),滚动会自动返回到顶部.如果我只使用style = {styles.container}并取出alignItems:’flex-start’它会正确滚动,但UI中的项目并没有按照我需要的方式进行布局.是什么导致它使用contentContainerStyle滚动回顶部并且有修复? 渲染: var _that = this; var iconsToShow = icons.map(function (icon,i){ if(i < 81){ return ( <TouchableHighlight onPress={() => _that.changeIcon(indexToChange,icon)} underlayColor='#F7F7F7' key={i}> <Text style={styles.iconText}><IonIcons name={icon} size={30} color="#555" /></Text> </TouchableHighlight> ); } }); return ( <Carousel width={SCREEN_WIDTH} animate={false} indicatorColor="#444" inactiveIndicatorColor="#999" indicatorAtBottom={false} indicatorOffset={16}> <View> <ScrollView contentContainerStyle={styles.container}>{iconsToShow}</ScrollView> </View> <View> //next page for carousel </View> </Carousel> );
我想出了如何让它滚动.而不是让视图包装ScrollView和ScrollView具有任何flex样式或alignItems:’flex-start’与contentContainerStyle = {styles.container},而不是将它放在View上,它是ScrollView的子节点而只是使用style =而不是contentContainerStyle =.
渲染: <ScrollView style={styles.container}> <Text style={styles.goalName}>{goal}</Text> <View style={styles.viewContainer}> {iconsToShow} </View> </ScrollView> 造型: var styles = StyleSheet.create({ container: { backgroundColor: 'transparent',paddingLeft:20,paddingRight:20 },viewContainer:{ flexDirection:'row',flexWrap: 'wrap',alignItems: 'flex-start',flex: 1 },iconText:{ paddingLeft:15,paddingRight:15,paddingTop:15,paddingBottom:15 },goalName:{ textAlign:'center',marginTop:40,marginBottom:10,fontSize:20 } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |