mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-26 05:15:49 +08:00
Fixed root view background color propagation
This commit is contained in:
@@ -38,7 +38,6 @@ typedef void (^RCTApplierBlock)(RCTSparseArray *);
|
||||
@property (nonatomic, weak, readonly) RCTShadowView *superview;
|
||||
@property (nonatomic, assign, readonly) css_node_t *cssNode;
|
||||
@property (nonatomic, copy) NSString *viewName;
|
||||
@property (nonatomic, assign) BOOL isBGColorExplicitlySet; // Used to propagate to children
|
||||
@property (nonatomic, strong) UIColor *backgroundColor; // Used to propagate to children
|
||||
@property (nonatomic, assign) RCTUpdateLifecycle layoutLifecycle;
|
||||
@property (nonatomic, assign) BOOL hasOnLayout;
|
||||
|
||||
@@ -38,6 +38,7 @@ typedef enum {
|
||||
NSMutableArray *_reactSubviews;
|
||||
BOOL _recomputePadding;
|
||||
BOOL _recomputeMargin;
|
||||
BOOL _isBGColorExplicitlySet;
|
||||
float _paddingMetaProps[META_PROP_COUNT];
|
||||
float _marginMetaProps[META_PROP_COUNT];
|
||||
}
|
||||
@@ -515,6 +516,7 @@ RCT_STYLE_PROPERTY(FlexWrap, flexWrap, flex_wrap, css_wrap_type_t)
|
||||
- (void)setBackgroundColor:(UIColor *)color
|
||||
{
|
||||
_backgroundColor = color;
|
||||
_isBGColorExplicitlySet = YES;
|
||||
[self dirtyPropagation];
|
||||
}
|
||||
|
||||
|
||||
@@ -228,36 +228,38 @@ RCT_VIEW_BORDER_RADIUS_PROPERTY(BottomRight)
|
||||
|
||||
#pragma mark - ShadowView properties
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(top, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(right, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(bottom, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(backgroundColor, UIColor)
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(top, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(right, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(bottom, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(left, CGFloat);
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(width, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(height, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(width, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(height, CGFloat)
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderTopWidth, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderRightWidth, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderBottomWidth, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderLeftWidth, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderTopWidth, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderRightWidth, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderBottomWidth, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(borderLeftWidth, CGFloat)
|
||||
RCT_CUSTOM_SHADOW_PROPERTY(borderWidth, CGFloat, RCTShadowView) {
|
||||
[view setBorderWidth:[RCTConvert CGFloat:json]];
|
||||
}
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginTop, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginRight, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginBottom, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginLeft, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginVertical, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginHorizontal, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(margin, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginTop, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginRight, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginBottom, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginLeft, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginVertical, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(marginHorizontal, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(margin, CGFloat)
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingTop, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingRight, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingBottom, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingLeft, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingVertical, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingHorizontal, CGFloat);
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingTop, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingRight, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingBottom, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingLeft, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingVertical, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(paddingHorizontal, CGFloat)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(padding, CGFloat);
|
||||
|
||||
RCT_EXPORT_SHADOW_PROPERTY(flex, CGFloat)
|
||||
@@ -268,12 +270,6 @@ RCT_EXPORT_SHADOW_PROPERTY(alignItems, css_align_t)
|
||||
RCT_EXPORT_SHADOW_PROPERTY(alignSelf, css_align_t)
|
||||
RCT_REMAP_SHADOW_PROPERTY(position, positionType, css_position_type_t)
|
||||
|
||||
RCT_CUSTOM_SHADOW_PROPERTY(backgroundColor, UIColor, RCTShadowView)
|
||||
{
|
||||
view.backgroundColor = json ? [RCTConvert UIColor:json] : defaultView.backgroundColor;
|
||||
view.isBGColorExplicitlySet = json ? YES : defaultView.isBGColorExplicitlySet;
|
||||
}
|
||||
|
||||
RCT_REMAP_SHADOW_PROPERTY(onLayout, hasOnLayout, BOOL)
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user