【问题标题】:TouchableOpacity not working on iosTouchableOpacity 在 ios 上不起作用
【发布时间】:2017-07-20 20:36:43
【问题描述】:

我有以下代码:

<TouchableOpacity 
disabled={!this.state.canGoBack} 
onPress={this.onBack.bind(this)}>
<Icon 
   name="arrow-back" 
   style={this.state.canGoBack ? styles.iconStyleActive :
   styles.iconStyle}/>
</TouchableOpacity>

这在 Android 上运行良好。但是,在 iOS 上,我的应用无法加载。我没有收到任何错误,活动指示器一直在旋转。 我尝试不使用 TouchableOpacity 并且图标加载正常。

编辑:如果我用文本替换图标然后可触摸的不透明度工作,似乎也可以工作。

RN 版本:“react-native”:“^0.45.1”,

【问题讨论】:

  • 反应原生版本?
  • Icon 组件是你自己写的吗?如果是这样,你能发布它的代码吗?
  • 不,它是原生的,我也尝试过其他图标包,结果相同。
  • 您是否尝试为图标添加尺寸?
  • 您可能无法在 ios 上使用该图标,您可能需要将其更改为 name="ios-arrow-back" 或类似的东西。

标签: reactjs react-native native react-native-android


【解决方案1】:

删除 Node Modules 文件夹并清除缓存后问题似乎已解决。 这似乎是一个临时修复,当再次启动应用程序时出现同样的问题而没有对代码进行任何更改。

【讨论】:

  • 关闭Iphone模拟器,metro然后再次运行并修复!
【解决方案2】:

刚刚在 Native Base 中看到了另一件事并找到了

他们根据 Platfrom 使用离子

<Icon ios='ios-menu' android="md-menu" style={{fontSize: 20, color: 'red'}}/>

也许这对你有帮助

【讨论】:

    【解决方案3】:

    这更多地取决于图标样式。如果你设置 Height/width const 或设置绝对位置,那么 TouchableOpacity 有时是无效的。

    尝试使用高度宽度的 flex 和 min max。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      相关资源
      最近更新 更多