React Native iOS Fabric组件中StyleSheet backgroundColor不生效问题求助
React Native iOS Fabric组件中StyleSheet backgroundColor不生效问题求助
大家好!我最近在开发React Native iOS Fabric组件时碰到了一个很头疼的问题,想请各位大佬帮忙分析下原因,或者给点解决思路!
先跟大家说下我的组件情况:
- 我做了一个原生iOS的Fabric组件,Props继承自ViewProps,TS层的接口也对应继承了ViewProps,还加了自定义的
propA和propB - 因为需要自定义绘制逻辑,我重写了
drawRect:方法,代码是这样的:- (void)drawRect:(CGRect)rect { [super drawRect:rect]; [self customLogic]; } - 现在的问题是:Style里的
backgroundColor完全不生效,显示的是纯黑色,但其他样式属性比如width、height、justifyContent、borderColor、borderRadius这些都正常工作 - 我试过如果去掉
drawRect的重写,backgroundColor就恢复正常了,但这个自定义绘制逻辑是必须的,不能去掉 - 之前我做过一个类似的老组件,同样需要重写
drawRect,但backgroundColor是正常的,那个老组件是直接继承UIView的,而现在这个Fabric组件继承的是RCTViewComponentView,我怀疑问题就出在这里,但不知道具体原因
我现在的疑问是:
- 为什么继承
RCTViewComponentView重写drawRect后,backgroundColor会失效? - 除了
backgroundColor,会不会还有其他样式属性也有同样的问题? - 有没有什么办法能在保留
drawRect自定义逻辑的同时,让backgroundColor正常生效?
麻烦各位有经验的大佬分享下经验,或者给点排查方向,非常感谢!
内容来源于stack exchange
相关产品推荐
相关产品推荐

