SDAutoLayout:比masonry更简单易用的自动布局库
2016-01-07 09:30:07 | 来源:玩转帮会 | 投稿:佚名 | 编辑:小柯

原标题:SDAutoLayout:比masonry更简单易用的自动布局库

SDAutoLayout:一行代码搞定自动布局!支持Cell和Tableview高度自适应,Label和ScrollView内容自适应,致力于做最简单易用的AutoLayout库。

【SDAutoLayout 预告片教程:http://www.letv.com/ptv/vplay/24038772.html】

☆新增:cell高度自适应 + label文字自适应☆

>>>>> tableview cell 自动高度设置只需要3步

1. >> 设置cell高度自适应:

//cell布局设置好之后调用此方法就可以实现高度自适应(注意:如果用高度自适应则不要再以cell的底边为参照去布局其子view)
[cellsetupAutoHeightWithBottomView:_view4bottomMargin:10];

2. >> 设置 tableview 数据源和代理

-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section
{
//2.1注册模型cell
[self.tableViewstartAutoCellHeightWithCellClass:“cell类名”contentViewWidth:“contentview宽度”];
return_rowCount;
}
-(CGFloat)tableView:(UITableView*)tableViewheightForRowAtIndexPath:(NSIndexPath*)indexPath
{
//2.2根据模型取得cell高度
return[self.tableViewcellHeightForIndexPath:indexPathmodel:“model”keyPath:@"model属性名"];
}

*********** 普通view的自动布局 ***********

摒弃复杂累赘的约束,利用运行时Runtime在合适的时机布局视图。

0.用法示例

/*用法一*/
_view.sd_layout
.leftSpaceToView(self.view,10)
.topSpaceToView(self.view,80)
.heightIs(130)
.widthRatioToView(self.view,0.4);
/*用法二(一行代码搞定,其实用法一也是一行代码)*/
_view.sd_layout.leftSpaceToView(self.view,10).topSpaceToView(self.view,80).heightIs(130).widthRatioToView(self.view,0.4);
>>UILabel文字自适应:
//autoHeightRatio()传0则根据文字自动计算高度(传大于0的值则根据此数值设置高度和宽度的比值)
_label.sd_layout.autoHeightRatio(0);

*******************************************************************************

注意:先把需要自动布局的view加入父view然后在进行自动布局,例:

UIView*view0=[UIViewnew];
UIView*view1=[UIViewnew];
[self.viewaddSubview:view0];
[self.viewaddSubview:view1];
view0.sd_layout
.leftSpaceToView(self.view,10)
.topSpaceToView(self.view,80)
.heightIs(100)
.widthRatioToView(self.view,0.4);
view1.sd_layout
.leftSpaceToView(view0,10)
.topEqualToView(view0)
.heightRatioToView(view0,1)
.rightSpaceToView(self.view,10);

*******************************************************************************

1.用法简析

1.1 > leftSpaceToView(self.view, 10)

方法名中带有“SpaceToView”的方法表示到某个参照view的间距,需要传递2个参数:(UIView)参照view 和 (CGFloat)间距数值

1.2 > widthRatioToView(self.view, 1)

方法名中带有“RatioToView”的方法表示view的宽度或者高度等属性相对于参照view的对应属性值的比例,需要传递2个参数:(UIView)参照view 和 (CGFloat)倍数

1.3 > topEqualToView(view)

方法名中带有“EqualToView”的方法表示view的某一属性等于参照view的对应的属性值,需要传递1个参数:(UIView)参照view

1.4 > widthIs(100)

方法名中带有“Is”的方法表示view的某一属性值等于参数数值,需要传递1个参数:(CGFloat)数值a

tags:

上一篇  下一篇

相关:

运营方法论:我在京东怎么做运营——电商思维下的产品运营及管理

莎士比亚有一句名言:一千个人心中有一千个哈姆雷特,在千人千面的互联网用户体验中,每个运营都可以是长袖

腾讯十七年产品运营秘诀揭晓,3月5日,深圳、上海,等你来

足记、无秘、围住神经猫,看起来似乎火得莫名其妙的现象级产品也离不开运营人员背后的努力。电视剧《武媚娘

主帅亲自放话 布莱恩明天复出战国王

布莱恩的客场引退之旅明天即将继续。(美联社资料照) 因为右肩伤势缺席3场的「小飞侠」布莱恩,如今终于有

MAXRIENY首映场:16S/S广告片 启程“天空之城”


愤怒与忌妒交织
邪恶于是蔓延
红心皇后的丑陋人性
铺天盖地袭卷天空之城
是时候让污秽回归

Pianta品牌创始人曾和平:跨境电商热下的冷思考(下)


续跨境电商热下的冷思考(上)说句实话:目前电子商务兴起时,需要我们做一些冷思考的问题实在太多

Pianta品牌创始人曾和平:跨境电商热下的冷思考(上)


2015年11月30日,一丁集团宣布破产!当晚23:56分,一丁集团副总裁林德志抒发了这样的悲情:伤痛让

窥探Swift之函数与闭包的应用实例

今天的博客算是比较基础的,还是那句话,基础这东西在什么时候都是最重要的。说到函数,只要是写过程序就肯

源码推荐(01.06B):类似QQ音乐界面,相册多选/相机连拍

类似QQ音乐界面(上传者:996999827)一个简单的demo,界面根据QQ音乐设计,自定义音频播放器,实现了上一曲,

欧美嫩模姐妹花性感内衣可爱写真

黑白性感内衣写真黑色玫瑰的诱惑

站长推荐: