TouchableOpacity onPress在ScrollView中不起作用

时间:2017-10-04 15:38:09

标签: ios react-native scrollview touchableopacity

仅限iOS <TouchableOpacity>如果在<ScrollView>

内,则不会回复
  1. 它在模拟器中正常工作,但在真实设备中无效,
  2. keyboardShouldPersistTaps="always"没有任何区别
  3. 部分代码:<ScrollView style={styles.scrollView}> <TouchableOpacity style={styles.xButton} onPress={() => this._onClose()}>
  4. 有什么建议吗?

    --- 代码更新 -----

    <ScrollView style={styles.scrollView}>
       <TouchableOpacity style={styles.xButton} onPress={() => this._onClose()}>
        <Image style = {styles.xImg} source = {require('../../images/xbtn.png')}/>
       </TouchableOpacity>
         {this._renderPricing()}
         {this._renderServices()}
     </ScrollView>
    

    并且样式看起来像这样:

    scrollView:{ 
        width: width,
        height: height,
    }, xButton: {
        position: 'absolute',
        zIndex: 1,
        marginTop: '1%',
        marginRight: '3%',
        alignSelf: 'flex-end',
    
    },xImg: {
        resizeMode: 'contain',
        aspectRatio: .6,
        opacity: 0.5,
    },
    

1 个答案:

答案 0 :(得分:1)

问题已解决。这是由于在我的this._renderPricing等单独的渲染方法中,我多次更改了状态?因此,JS线程被占用,因此TouchableOpacity无法响应触摸事件,请参见RN documentation,以了解更多信息。如有需要,请提供详细说明。非常感谢您的回答。