Code Monkey home page Code Monkey logo

whc_autolayoutkit's Introduction

WHC_AutoLayoutKit

咨询QQ: 712641411
开发作者: 吴海超
WHC_AutoLayoutKit 致力打造使用最简单功能最强大的自动布局开源库
WHC_AutoLayoutKit 同时有OC版和Swift版
OC版和Swift版自动布局库api接口使用代码里都有详细使用说明
同时推出Swift3.0和Swift2.3版本

WHC_StackView支持添加分割线(网格)看demo6

支持View自动高度和自动宽度,可参看demo1,并且完全兼容代码方式修改xib视图上的约束
Version: 2.5

ObjectiveC版自动布局库使用范例

- (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);
}

Swift版自动布局使用范例

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];
}

Swift版一行代码计算cell高度使用范例

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    return UITableViewCell.whc_CellHeightForIndexPath(indexPath, tableView: tableView)
}

ObjectiveC版StackView使用范例

- (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];
}

Swift版StackView使用范例

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()
}

未来开发计划

1.开发更加智能方便的WHC_StackView视图容器组件(正在构建)

升级更新日志

1.更新升级不常用的api
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
7.修复微信demo点赞cell行计算错误bug
8.优化自动识别冲突约束处理方式
9.支持UIView根据子视图高度和宽度自动

部分WHC_AutoLayoutKit demo展示

image image

whc_autolayoutkit's People

Contributors

netyouli avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.