iOS:when measure child ,remove margin
This commit is contained in:
parent
317cd115ab
commit
7f26910f0c
@ -216,6 +216,12 @@ - (CGFloat)takenHeight {
|
|||||||
return self.measuredHeight + self.marginTop + self.marginBottom;
|
return self.measuredHeight + self.marginTop + self.marginBottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (CGSize)removeMargin:(CGSize)targetSize {
|
||||||
|
return CGSizeMake(
|
||||||
|
targetSize.width - self.marginLeft - self.marginRight,
|
||||||
|
targetSize.height - self.marginTop - self.marginBottom);
|
||||||
|
}
|
||||||
|
|
||||||
- (void)measureStackContent:(CGSize)targetSize {
|
- (void)measureStackContent:(CGSize)targetSize {
|
||||||
CGFloat contentWidth = 0, contentHeight = 0;
|
CGFloat contentWidth = 0, contentHeight = 0;
|
||||||
for (__kindof UIView *subview in self.view.subviews) {
|
for (__kindof UIView *subview in self.view.subviews) {
|
||||||
@ -223,7 +229,7 @@ - (void)measureStackContent:(CGSize)targetSize {
|
|||||||
if (layout.disabled) {
|
if (layout.disabled) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
[layout measure:targetSize];
|
[layout measure:[layout removeMargin:targetSize]];
|
||||||
contentWidth = MAX(contentWidth, layout.takenWidth);
|
contentWidth = MAX(contentWidth, layout.takenWidth);
|
||||||
contentHeight = MAX(contentHeight, layout.takenHeight);
|
contentHeight = MAX(contentHeight, layout.takenHeight);
|
||||||
}
|
}
|
||||||
@ -249,7 +255,7 @@ - (void)measureVLayoutContent:(CGSize)targetSize {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
had = YES;
|
had = YES;
|
||||||
[layout measure:CGSizeMake(targetSize.width, targetSize.height - contentHeight)];
|
[layout measure:[layout removeMargin:CGSizeMake(targetSize.width, targetSize.height - contentHeight)]];
|
||||||
contentWidth = MAX(contentWidth, layout.takenWidth);
|
contentWidth = MAX(contentWidth, layout.takenWidth);
|
||||||
contentHeight += layout.takenHeight + self.spacing;
|
contentHeight += layout.takenHeight + self.spacing;
|
||||||
contentWeight += layout.weight;
|
contentWeight += layout.weight;
|
||||||
@ -299,7 +305,7 @@ - (void)measureHLayoutContent:(CGSize)targetSize {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
had = YES;
|
had = YES;
|
||||||
[layout measure:CGSizeMake(targetSize.width - contentWidth, targetSize.height)];
|
[layout measure:[layout removeMargin:CGSizeMake(targetSize.width - contentWidth, targetSize.height)]];
|
||||||
contentWidth += layout.takenWidth + self.spacing;
|
contentWidth += layout.takenWidth + self.spacing;
|
||||||
contentHeight = MAX(contentHeight, layout.takenHeight);
|
contentHeight = MAX(contentHeight, layout.takenHeight);
|
||||||
contentWeight += layout.weight;
|
contentWeight += layout.weight;
|
||||||
|
Reference in New Issue
Block a user