ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 网络编程 >> IOS开发 >> SBLayout一行代码搞定任意难度的AutoLayout

SBLayout一行代码搞定任意难度的AutoLayout(1/4)

来源:网络整理     时间:2018-02-11     关键词:

本篇文章主要介绍了" SBLayout一行代码搞定任意难度的AutoLayout",主要涉及到方面的内容,对于IOS开发感兴趣的同学可以参考一下: SBLayout 一行代码搞定任意难度的AutoLayout简介:SBLayout是基于Swift4 封装系统的约束而成的单文件约束框架,总代码700多行,支持...

SBLayout 一行代码搞定任意难度的AutoLayout

简介:

SBLayout是基于Swift4 封装系统的约束而成的单文件约束框架,总代码700多行,支持iOS9 / macOS10.11及其以上版本,一行代码可以搞定任意难度的AutoLayout约束,完美支持iPhone X

使用方法如下:

实例:

let redView = UIView()
redView.backgroundColor = .red  
self.view.addSubview(redView)
//使用SBLayout约束
//默认的优先级是最高的,set开头可以设置优先级
redView.height(100).width(200).centerX(equalTo: view.sb_centerX).top(equalTo: view.sb_top, constant: 100).setWidth(400, priority: .defaultLow).end()

效果图如下:

 SBLayout一行代码搞定任意难度的AutoLayout

以上实例如果使用Snapkit写约束,会用到闭包,然后再make一大堆,显得很不精简,也很多余。所以在无奈之下,就自己写了SBLayout,一行代码搞定。

视图和父视图顶部约束,SBLayout只需如下操作:

exampleView.top(equalTo: fatherView.sb_top)

视图和父视图底部约束,SBLayout只需如下操作:

exampleView.bottom(equalTo: fatherView.sb_bottom)

视图和父视图左边约束,SBLayout只需如下操作:

exampleView.left(equalTo: view.sb_left)

视图和父视图右边约束,SBLayout只需如下操作:

exampleView.right(equalTo: view.sb_right)

视图宽高的赋值,SBLayout只需如下操作:

exampleView.width(constant)
exampleView.height(constant)

视图和父视图X或者Y轴居中约束,SBLayout只需如下操作:

exampleView.centerX(equalTo: view.sb_centerX)
exampleView.centerY(equalTo: view.sb_centerY)

因为SBLayout每个点约束后返回的是UIView,所以所有的约束点都可以继续在语句后面添加任意想添加的约束,如下:

exampleView.top(equalTo: view.sb_top).left(equalTo: view.sb_left).right(equalTo: view.sb_right).bottom(equalTo: view.sb_bottom).end()

也可以这样:

exampleView.edges(with: view).end()

SBLayout约束结束后需在最后添加.end()或者.sb()以结束约束

使用SBLayout实现动画功能:

相关图片

相关文章