由于我的表单上显示了很多层并创建了透明效果,我需要将ScrollView放在绝对位置;不幸的是,当添加{position:' absolute'我释放手指后,我的ScrollView会回到顶部。 我在stackoverflow上读取了所有相关的线程无济于事。
以下代码的屏幕截图:http://imgur.com/a/fd4ad
这是我正在使用的代码: 导入React,{Component}来自'反应&#39 ;; 从' react-native';
导入{View,ScrollView,Text}class HomeTest extends Component {
render() {
const { headerTextStyle, homeView, scrollViewStyle, textStyle } = styles;
return (
<View>
<ScrollView style={scrollViewStyle} contentContainerStyle={homeView}>
<Text style={textStyle}>I'd love to figure out why this is not working.........................</Text>
</ScrollView>
<Text style={headerTextStyle}>Header</Text>
</View>
);
}
}
const styles = {
headerTextStyle: {
fontSize: 40,
alignSelf: 'center'
},
scrollViewStyle: {
position: 'absolute',
paddingTop: 60,
marginTop: 0
},
homeView: {
alignItems: 'center',
justifyContent: 'center'
},
textStyle: {
fontSize: 96
},
};
export default HomeTest;
答案 0 :(得分:5)
在GitHub上找到解决方案:https://github.com/facebook/react-native/issues/5438
好吧,秘诀是添加以下样式组件:(我必须弄清楚原因 - 然后发布 - 稍后再刷新我的CSS技能)
这是更新后的代码:
import React, { Component } from 'react';
import { View, ScrollView, Text } from 'react-native';
class HomeTest extends Component {
render() {
const { headerTextStyle, homeView, scrollViewStyle, textStyle, mainView } = styles;
return (
<View style={mainView}>
<ScrollView style={scrollViewStyle} contentContainerStyle={homeView}>
<Text style={textStyle}>I'd love to figure out why this is not working.........................</Text>
</ScrollView>
<Text style={headerTextStyle}>Header</Text>
</View>
);
}
}
const styles = {
headerTextStyle: {
fontSize: 40,
alignSelf: 'center'
},
scrollViewStyle: {
position: 'absolute',
top: 0,
bottom: 0,
left: 0,
right: 0,
paddingTop: 60
},
homeView: {
alignItems: 'center',
justifyContent: 'center'
},
textStyle: {
fontSize: 96
},
mainView: {
flex: 1,
position: 'relative'
}
};
export default HomeTest;
答案 1 :(得分:1)
您只需要指定scrollView的高度
cypher