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展示