feat:refact DoricLayout and layout config

This commit is contained in:
pengfei.zhou
2019-11-15 15:38:24 +08:00
parent 3289513720
commit 6017e7120d
16 changed files with 355 additions and 405 deletions

View File

@@ -37,29 +37,4 @@ - (void)blendView:(DoricHLayoutView *)view forPropName:(NSString *)name propValu
[super blendView:view forPropName:name propValue:prop];
}
}
- (void)blendSubNode:(DoricViewNode *)subNode layoutConfig:(NSDictionary *)layoutConfig {
[super blendSubNode:subNode layoutConfig:layoutConfig];
if (![subNode.layoutConfig isKindOfClass:DoricLinearConfig.class]) {
DoricLog(@"blend DoricHLayoutView child error,layout params not match");
return;
}
DoricLinearConfig *params = (DoricLinearConfig *) subNode.layoutConfig;
NSDictionary *margin = layoutConfig[@"margin"];
if (margin) {
params.margin = DoricMarginMake(
[(NSNumber *) margin[@"left"] floatValue],
[(NSNumber *) margin[@"top"] floatValue],
[(NSNumber *) margin[@"right"] floatValue],
[(NSNumber *) margin[@"bottom"] floatValue]);
}
NSNumber *alignment = layoutConfig[@"alignment"];
if (alignment) {
params.alignment = (DoricGravity) [alignment integerValue];
}
}
- (DoricLinearConfig *)generateDefaultLayoutParams {
return [[DoricLinearConfig alloc] init];
}
@end