likers
V2EX  ›  Swift

Apple 打死也不精简语法,就自己写了个 Swift 的 Auto Layout 语法糖

  •  
  •   likers · Jan 14, 2016 · 4923 views
    This topic created in 3801 days ago, the information mentioned may be changed or developed.

    用代码来做 Auto Layout 简直是要疯,自己写的吐血不说,还被面试官吐槽代码太多。。。

    然而苹果貌似是放弃纯代码 layout 了,不管是 Layout Anchors , NSLayoutConstraint 还是 Visual Format Language 都没有精简语法的诚意。于是就试着用操作符重载写了MathLayout,和大家分享一下,多多拍砖~

    目前几个主要的问题是:

    • 操作符重载所带来的冲突和歧义。我盯着键盘想到最好的方案也就是用“====”来代替“=”,虽然丑了点但是减少了很多冲突的可能。(但是找代码好方便呀有木有)

    • 四个方向用了最简洁的 top, left, bottom, right ,但同时也最容易有冲突。

    • 还没有实用,不知道能不能满足全部的 Auto Layout 需求。如果我有发现缺漏会慢慢补充进来。

    5 replies    2016-01-14 21:28:42 +08:00
    1000copy
        1
    1000copy  
       Jan 14, 2016
    不错的探索。点赞下:)
    pheyer
        2
    pheyer  
       Jan 14, 2016
    OC 里有一个 Masonry , Swift 里不是有一个 SnapKit 吗?
    sablib
        3
    sablib  
       Jan 14, 2016
    Swift 不是有一个 Cartography 么?
    功能还挺多的。
    likers
        4
    likers  
    OP
       Jan 14, 2016
    @pheyer 然而 SnapKit 写起来感觉也还是有些麻烦,囧
    @sablib 谢谢啊!去研究研究 Cartography 怎么做的
    free9fw
        5
    free9fw  
       Jan 14, 2016
    SnapKit 挺好用的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3553 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 10:32 · PVG 18:32 · LAX 03:32 · JFK 06:32
    ♥ Do have faith in what you're doing.