iOS第三方库与框架

SDAutolayout的简单说明书

2016-07-22  本文已影响217人  锦瑟流年终成忆

自己使用SDAutolayout的简单心得 包含2个库类

UIView+SDAutoLayout.h

UITableView+SDAutoTableViewCellHeight.h

前者主要针对View,label ,button等的自动布局 后者主要针对应该是cell的自动布局

UIView+SDAutoLayout.h

控件之间的间距 有2个比较重要的参数

SpaceToView  设置距离其它view的间距,参数为“(View, CGFloat)” 上下左右

EqualToView  设置和某个参照view的边距相同 参数为“(View)”  上下左右中心点(x,y)

#pragma mark - UIView 高度、宽度自适应相关方法

/** 设置Cell的高度自适应,也可用于设置普通view内容高度自适应 */

- (void)setupAutoHeightWithBottomView:(UIView *)bottomView bottomMargin:(CGFloat)bottomMargin;

/** 用于设置普通view内容宽度自适应 */

- (void)setupAutoWidthWithRightView:(UIView *)rightView rightMargin:(CGFloat)rightMargin;

/** 设置等宽子view(子view需要在同一水平方向) */

@property (nonatomic, strong) NSArray *sd_equalWidthSubviews;

>cell高度自适应的方法

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

[cell setupAutoHeightWithBottomView:_view4 bottomMargin:10];

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

// 2.1 注册模型cell

[self.tableView startAutoCellHeightWithCellClass:“cell类名” contentViewWidth:“contentview宽度”];

return_rowCount;

}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

// 2.2 根据模型取得cell高度

return[self.tableView cellHeightForIndexPath:indexPath model:“model” keyPath:@"model属性名"];

}

// 推荐使用此普通简化版方法(一步设置搞定高度自适应,性能好,易用性好)

return [self.tableView cellHeightForIndexPath:indexPath model:model keyPath:@"model" cellClass:currentClass contentViewWidth:[self cellContentViewWith]];

上一篇下一篇

猜你喜欢

热点阅读