您的位置:首页 > 其它

Masonry

2015-08-28 00:00 169 查看
摘要:OC版本对应的是Masonry,Swift版本对应的是SnapKit

mas_makeConstraints使用最多,做初始约束,只负责新增约束

mas_updateConstraints针对make中的约束做更新,一般不添加新约束,只是对于原约束数值的修改.

mas_remakeConstraints清除之前所有的约束,采用里面设置的最新约束,常用于动画之后新位置的约束设定

优先级高.priorityHigh,优先级低.priorityLow,通常用于根据条件判断来设定优先响应哪种约束

multipliedBy(x)=*x,dividedBy(x)=/x

实现动画时,更新约束后调用layoutIfNeeded

make.edges.mas_equalTo(UIEdgeInsetsMake(10,10,10,10));

//edges就是相当于top-left-bottom-right

//top和left里的offset为正数

//那么为什么bottom和right里的offset是负数呢?因为这里计算的是绝对的数值计算的bottom需要小

于sv的底部高度所以要-10同理用于right

//有意思的地方是and和with其实这两个函数什么事情都没做,可以省略的

/*等价于


make.top.equalTo(weakSelf.sv).with.offset(10);


make.left.equalTo(weakSelf.sv).with.offset(10);


make.bottom.equalTo(weakSelf.sv).with.offset(-10);


make.right.equalTo(weakSelf.sv).with.offset(-10);

UIScrollView是一个有点特殊的view,对于在里面放其他view,最好的做法是先放一个containerView设置edges相等,然后在此view上添加subview.

模仿系统的UITabBarController的底部View,可以设定个数和间隔:

-(
void
)simulateSystemTabBarWithButtonCount:(NSInteger)countwithSpace:(CGFloat)
space{


[self.viewshowPlaceHolder];


self.view.backgroundColor=[UIColorgrayColor];


NSMutableArray*viewArray=[NSMutableArrayarrayWithCapacity:10];




for
(
int
i=0;i<count;i++){


UIView*view=[UIView
new
];


view.backgroundColor=[UIColorcolorWithHue:(arc4random()%256/256.0)


saturation:(arc4random()%128/256.0)+0.5


brightness:(arc4random()%128/256.0)+0.5


alpha:1];;


[viewshowPlaceHolder];


[self.viewaddSubview:view];


[viewArrayaddObject:view];


}


UIView*lastView=viewArray.lastObject;


for
(
int
i=0;i<count;i++){


UIView*view=(UIView*)viewArray[i];


[viewmas_makeConstraints:^(MASConstraintMaker*make){


make.bottom.equalTo(view.superview);


make.height.equalTo(@49);


make.width.equalTo(lastView);


if
(i==0){


make.left.mas_equalTo(view.superview).offset(space);


}
else
{


UIView*frontView=(UIView*)viewArray[i-1];


make.left.equalTo(frontView.mas_right).offset(space);


(i==viewArray.count-1)?make.right.mas_equalTo(view.superview).offset(-space):nil;


}


}];


}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: