Я использовал ScrollView в других приложениях, добавляя только style={styles.container}
со стилями. Однако в этом приложении, которое я создаю в своих стилях, у меня есть alignItems:'flex-start'
, который выдает ошибку только с style={styles.container}
, и вместо этого вам нужно передать в alignItems:'flex-start'
через contentContainerStyle={styles.container}
.React Native ScrollView snapping back to top после релиза
Ошибка: Invariant Violation: ScrollView child layout (["alignItems"]) must by applied through the contentContainerStyle prop.
Однако при добавлении contentContainerStyle
при прокрутке вниз с точки зрения, как только палец отрывается от телефона (или выпуск мыши в тренажере), свиток автоматически возвращается к началу. Если я просто использую style={styles.container}
и вынимаю alignItems:'flex-start'
, он прокручивается правильно, но мои элементы в пользовательском интерфейсе не выложены, как они мне нужны. Что заставляет его прокручивать назад вверх с 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>
);