RT:
对于SnapKit 中示例代码,使用我的封装,更简单,如下:
let box = UIView()
superview.addSubview(box)
box.pinEdge(UIEdgeInsetsMake(20,20,20,20))
不过我跟SnapKit 的定位不一样, 它尝试重新定义一种声明约束的方式,并适应所有场景.
而我目的是,简化 80% 的写法. 其他的使用构建原生的 NSLayoutConstraint 的方式
下面是一些用法举例:
let box = UIView()
box.pinCenterX() // 在父 View 水平居中
box.pinCenterY() // 在父 View 中垂直居中
let box2 = UIView()
box2.pinCenterXToSibling(box1) // 与 box 水平居中对齐
按我平常手写约束的经验来说, 简化 80% 的手写约束,是不为过的
另: 如果某一类的约束,使用比较多,也可以快速的添加一个 convenience 方法.
PS: 在写这些封装方法时,我发现起名字,其实是个大问题. 不想太啰嗦,又想直观.
部分参考了 SnapKit, PureLayout的写法
So, how do you think?
源代码: