WHC_AutoLayoutKit 致力打造使用最简单功能最强大的自动布局开源库
WHC_AutoLayoutKit 同时有OC版和Swift版
OC版和Swift版自动布局库api接口使用代码里都有详细使用说明
- (void)viewDidLoad {
[super viewDidLoad];
UIView * view = [UIView new];
[self.view addSubview: view];
view.whc_LeftSpace(10)
.whc_TopSpace(10)
.whc_RightSpaceToView(10,view1)
.whc_Height(100);
}
override func viewDidLoad() {
super.viewDidLoad()
let view = UIView()
self.view.addSubview(view)
view.whc_Left(20)
.whc_Right(0)
.whc_Height(40)
.whc_Top(64)
}
ObjectiveC版一行代码计算cell高度使用范例
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return [DemoVC2Cell whc_CellHeightForIndexPath:indexPath tableView:tableView];
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewCell.whc_CellHeightForIndexPath(indexPath, tableView: tableView)
}
- (void)viewDidLoad {
[super viewDidLoad];
WHC_StackView * stackView = [WHC_StackView new];
[self.view addSubview: stackView];
/// 一行代码添加约束
stackView.whc_LeftSpace(10)
.whc_TopSpace(10)
.whc_RightSpace(10)
.whc_Height(100);
/// 配置StackView
stackView.whc_Edge = UIEdgeInsetsMake(10, 10, 10, 10); // 内边距
stackView.whc_Orientation = Vertical; // 自动垂直布局
stackView.whc_HSpace = 10; // 子视图横向间隙
stackView.whc_VSpace = 10; // 子视图垂直间隙
/// 向StackView中添加子视图
UIView * view1 = [UIView new];
UIView * view2 = [UIView new];
UIView * view3 = [UIView new];
UIView * view4 = [UIView new];
[stackView addSubview:view1];
[stackView addSubview:view2];
[stackView addSubview:view3];
[stackView addSubview:view4];
/// 开始进行布局
[stackView whc_StartLayout];
}
override func viewDidLoad() {
super.viewDidLoad()
let stackView = WHC_StackView()
self.view.addSubview(stackView)
/// 一行代码添加约束
stackView.whc_Left(10)
.whc_Top(10)
.whc_Right(10)
.whc_Height(100)
/// 配置StackView
stackView.whc_Edge = UIEdgeInsetsMake(10, 10, 10, 10) // 内边距
stackView.whc_Orientation = .Horizontal // 自动横向布局
stackView.whc_Column = 4 // 一行4列
stackView.whc_HSpace = 10 // 子视图横向间隙
stackView.whc_VSpace = 10 // 子视图垂直间隙
/// 向StackView中添加子视图
let view1 = UIView()
let view2 = UIView()
let view3 = UIView()
let view4 = UIView()
stackView.addSubview(view1)
stackView.addSubview(view2)
stackView.addSubview(view3)
stackView.addSubview(view4)
/// 开始进行布局
stackView.whc_StartLayout()
}
2.修复一行代码计算cell高度横竖屏计算的错误的bug
3.增加Swift版自动布局开源库WHC_AutoLayoutKit
4.增加新api(OC&Swift):whc_WidthHeightRatio 和whc_HeightWidthRatio (视图自身宽度与高度的比(CGFloat Ratio))
5.增加Equal带offset的api如:public func whc_LeftEqual(view:UIView offset:CGFloat) -> UIView
6.修复xib上当给控件不添加高宽约束时在代码里修改高宽约束无效的bug
部分WHC_AutoLayoutKit demo展示