Skip to content

Commit

Permalink
V1.2.0 修复了垂直线性布局中同时设置myLeftMargin,myRightMargin并且设置了gravity=MyMarginG…
Browse files Browse the repository at this point in the history
…ravity_Horz_Center时前者设置失效的问题。水平线性布局亦然。
  • Loading branch information
@欧柏泉 committed Jun 13, 2016
1 parent 9cee451 commit e9d79d0
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion MyLayout/Lib/MyLinearLayout.m
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,9 @@ -(CGRect)layoutSubviewsForVert:(CGRect)selfRect sbs:(NSArray*)sbs
if (sbv.widthDime.isMatchParent)
rect.size.width = (selfRect.size.width - self.leftPadding - self.rightPadding)*sbv.widthDime.mutilVal + sbv.widthDime.addVal;

if (sbv.leftPos.posVal != nil && sbv.rightPos.posVal != nil)
rect.size.width = selfRect.size.width - self.leftPadding - self.rightPadding - sbv.leftPos.margin - sbv.rightPos.margin;

MyMarginGravity mg = MyMarginGravity_Horz_Left;
if ((self.gravity & MyMarginGravity_Vert_Mask)!= MyMarginGravity_None)
mg =self.gravity & MyMarginGravity_Vert_Mask;
Expand Down Expand Up @@ -582,6 +585,9 @@ -(CGRect)layoutSubviewsForHorz:(CGRect)selfRect sbs:(NSArray*)sbs
rect.size.height = [self validMeasure:sbv.heightDime sbv:sbv calcSize:(selfRect.size.height - self.topPadding - self.bottomPadding)*sbv.heightDime.mutilVal + sbv.heightDime.addVal sbvSize:rect.size selfLayoutSize:selfRect.size];
}

if (sbv.topPos.posVal != nil && sbv.bottomPos.posVal != nil)
rect.size.height = selfRect.size.height - self.topPadding - self.bottomPadding - sbv.topPos.margin - sbv.bottomPos.margin;

//优先以容器中的指定为标准
MyMarginGravity mg = MyMarginGravity_Vert_Top;
if ((self.gravity & MyMarginGravity_Horz_Mask)!= MyMarginGravity_None)
Expand Down Expand Up @@ -647,7 +653,9 @@ -(CGRect)layoutSubviewsForVertGravity:(CGRect)selfRect sbs:(NSArray*)sbs
{
rect.size.width = (selfRect.size.width - self.leftPadding - self.rightPadding)*sbv.widthDime.mutilVal + sbv.widthDime.addVal;
}


if (sbv.leftPos.posVal != nil && sbv.rightPos.posVal != nil)
rect.size.width = selfRect.size.width - self.leftPadding - self.rightPadding - sbv.leftPos.margin - sbv.rightPos.margin;

//优先以容器中的对齐方式为标准,否则以自己的停靠方式为标准
MyMarginGravity mg = MyMarginGravity_Horz_Left;
Expand Down Expand Up @@ -850,6 +858,9 @@ -(CGRect)layoutSubviewsForHorzGravity:(CGRect)selfRect sbs:(NSArray*)sbs
rect.size.height = [self validMeasure:sbv.heightDime sbv:sbv calcSize:(selfRect.size.height - self.topPadding - self.bottomPadding)*sbv.heightDime.mutilVal + sbv.heightDime.addVal sbvSize:rect.size selfLayoutSize:selfRect.size];
}

if (sbv.topPos.posVal != nil && sbv.bottomPos.posVal != nil)
rect.size.height = selfRect.size.height - self.topPadding - self.bottomPadding - sbv.topPos.margin - sbv.bottomPos.margin;

MyMarginGravity mg = MyMarginGravity_Vert_Top;
if ((self.gravity & MyMarginGravity_Horz_Mask)!= MyMarginGravity_None)
mg =self.gravity & MyMarginGravity_Horz_Mask;
Expand Down

0 comments on commit e9d79d0

Please sign in to comment.