1

仅限 iOS<TouchableOpacity>如果它位于 a 内部,则不会响应<ScrollView>

  1. 它可以在模拟器中正常工作,但不能在真实设备中工作,
  2. keyboardShouldPersistTaps="always"没有任何区别
  3. 部分代码:<ScrollView style={styles.scrollView}> <TouchableOpacity style={styles.xButton} onPress={() => this._onClose()}>

有什么建议么?

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

<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,
},
4

1 回答 1

1

问题解决了。这是因为在我的单独渲染方法this._renderPricing等中,我多次更改状态,因此 JS 线程被占用,因此 TouchableOpacity 无法响应触摸事件,如果需要,请参阅RN 文档以获得更详细的说明。非常感谢您的回答。

于 2020-04-22T22:14:59.610 回答