ios - iOS 在使用 PNG 时会覆盖 `navBarButtonColor`
问题描述
问题描述
在我的应用程序中,我有一个导航栏搜索按钮设置如下:
static navigatorButtons = {
leftButtons: [
{
id: 'back-nav-button',
icon: require('../assets/images/icons/arrow-left.png')
}
]
};
该按钮在 iOS 和 Android 上均按预期工作,但在 iOS 上该按钮为蓝色。我知道这是所需的行为,并且可以通过设置覆盖颜色navBarButtonColor
,但问题是它是一个多色按钮 - 这意味着我希望按钮仅包含 PNG 图像的颜色,而不是navBarButtonColor
.
我尝试设置navBarButtonColor
为null
, transparent
,但似乎没有任何效果。
所以我的问题是,有没有办法让导航栏图标呈现所提供的 PNG 的颜色,就像在 Android 上一样?
重现步骤/代码片段/屏幕截图
只需static navigatorButtons = ...
使用本地多色 PNG 在 iOS 上运行任何 RNN 应用程序,您就会看到图标的颜色被覆盖。
环境
- React Native Navigation 版本:1.1.473
- React Native 版本:0.55.3
- 平台(iOS、Android 或两者?):iOS
- 设备信息(模拟器/设备?操作系统版本?调试/发布?):Android Emulator on Debug
解决方案
在 iOS 上,UIBarButtonItem
使用使用源图像的 Alpha 通道创建的图像。要显示实际图像(不是它的 Alpha 通道蒙版),您需要将图像的渲染模式更改为alwaysOriginal
虽然,查看React Native Image 类文档我看不到renderingMode
属性
推荐阅读
- node.js - 如何获取上下文值
- c++ - 如何从 LAPACK ssyev 获得正确的特征向量?
- c# - System.Security.Authentication.AuthenticationException:根据验证程序,远程证书无效
- mysql - 间隙检测 - 确定跳过/错过的日期
- javascript - 如何获取集合中特定键的值
- docker - 从 docker 容器通过主机名访问另一个容器
- 3d-secure - 如何使用带有条带托管发票页面的 3D Secure 为支付卡创建付款缩进
- linker - 链接到共享对象但发生未定义的引用?
- pytorch - LibTorch,将 deeplabv3_resnet101 转换为 c++
- javascript - 我们如何访问 java 脚本文件中的 web.config 值