用代码来做 Auto Layout 简直是要疯,自己写的吐血不说,还被面试官吐槽代码太多。。。
然而苹果貌似是放弃纯代码 layout 了,不管是 Layout Anchors , NSLayoutConstraint 还是 Visual Format Language 都没有精简语法的诚意。于是就试着用操作符重载写了MathLayout,和大家分享一下,多多拍砖~
目前几个主要的问题是:
操作符重载所带来的冲突和歧义。我盯着键盘想到最好的方案也就是用“====”来代替“=”,虽然丑了点但是减少了很多冲突的可能。(但是找代码好方便呀有木有)
四个方向用了最简洁的 top, left, bottom, right ,但同时也最容易有冲突。
还没有实用,不知道能不能满足全部的 Auto Layout 需求。如果我有发现缺漏会慢慢补充进来。
1
1000copy 2016-01-14 12:42:50 +08:00
不错的探索。点赞下:)
|
2
pheyer 2016-01-14 13:09:03 +08:00
OC 里有一个 Masonry , Swift 里不是有一个 SnapKit 吗?
|
3
sablib 2016-01-14 13:20:23 +08:00
Swift 不是有一个 Cartography 么?
功能还挺多的。 |
4
likers OP |
5
free9fw 2016-01-14 21:28:42 +08:00
SnapKit 挺好用的
|