V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
colatin
V2EX  ›  iDev

iOS 蛋疼的布局,怒了!为啥没有 LinearLayout?

  •  
  •   colatin · 2016-03-30 23:57:19 +08:00 · 4954 次点击
    这是一个创建于 2285 天前的主题,其中的信息可能已经有所发展或是发生改变。

    作为一个 Android 开发者,有幸接触了一下 iOS 开发,对 iOS 开发者在布局方面表示深深的同情。于是做了个小控件分享一下。奉行 frame layout 和有幸在 iOS9+公司的朋友也不要躲。 链接 https://github.com/qianbin/AutoLinearLayoutView

    screenshot

    第 1 条附言  ·  2016-04-06 22:40:33 +08:00

    附加两张截图

    ---

    22 条回复    2016-04-06 22:37:32 +08:00
    franklinyu
        1
    franklinyu  
       2016-03-31 07:52:57 +08:00
    空格和 tab 混排?
    ichanne
        2
    ichanne  
       2016-03-31 08:18:27 +08:00 via iPhone
    UIStackView 自带,谢谢
    mofet
        3
    mofet  
       2016-03-31 08:58:34 +08:00
    iOS 一般不用这种表格和比例为依据的 Layout ,屏幕 ppi 都一样,界面元素多使用固定尺寸、相对坐标。
    另有 UIStackView
    ichanne
        4
    ichanne  
       2016-03-31 09:07:21 +08:00
    看了下楼主的源码,写的很好,我要学习一个, AutoLayout 用得很 6
    wohenyingyu01
        5
    wohenyingyu01  
       2016-03-31 09:35:55 +08:00
    uistackview +1
    wohenyingyu01
        6
    wohenyingyu01  
       2016-03-31 09:41:58 +08:00
    @wohenyingyu01 看了源码,好 6 的样子,可否上 cocoapods ?
    ggyb11
        7
    ggyb11  
       2016-03-31 09:44:23 +08:00
    典型的 Android 思维
    tigerZhang
        8
    tigerZhang  
       2016-03-31 09:46:57 +08:00
    nicevar
        9
    nicevar  
       2016-03-31 09:51:16 +08:00
    哈哈,不错,支持一下楼主
    典型的平台迁移综合症
    mornlight
        10
    mornlight  
       2016-03-31 09:52:30 +08:00
    用 Masonry 之后早已把原生的 AutoLayout 写法忘了...
    superleexpert
        11
    superleexpert  
       2016-03-31 10:31:56 +08:00
    stackView 还得等下过度, Masonry 目前遇到的需求都能支持。
    colatin
        12
    colatin  
    OP
       2016-03-31 12:20:02 +08:00
    @ichanne ios9+有没有?信不信比 stack view 好用?
    colatin
        13
    colatin  
    OP
       2016-03-31 12:21:01 +08:00
    @wohenyingyu01 准备上
    colatin
        14
    colatin  
    OP
       2016-03-31 12:23:36 +08:00
    这个是黑魔法。
    个人认为 stackview 本身太挫,不够干净
    colatin
        15
    colatin  
    OP
       2016-03-31 12:24:44 +08:00
    @ggyb11 好的东西就得互相借鉴。 android 的 relative layout 如果能像 auto layout 那样跨层级约束就好了
    colatin
        16
    colatin  
    OP
       2016-03-31 12:33:03 +08:00
    @mofet 那苹果吃饱了撑了加了 stack view ?
    mofet
        17
    mofet  
       2016-03-31 13:36:33 +08:00
    @colatin 屌哦
    Rubbly
        18
    Rubbly  
       2016-03-31 21:16:08 +08:00   ❤️ 1
    说起布局 还是喜欢 xaml 的这一套
    HelveticaNeue
        19
    HelveticaNeue  
       2016-04-05 00:44:09 +08:00
    @colatin 能否简单介绍一下不干净的地方?
    我比较过 UIStackView 和 OAStackView 的布局速度, UIStackView 大概是 OAStackView 速度的 100 多倍,十分吓人,但是我没有研究过 UIStackView 的实现。所以能否简单说一下不干净的地方?
    colatin
        20
    colatin  
    OP
       2016-04-05 12:54:40 +08:00
    @wuyuehyang
    先说一下比较挫的地方,有时候 update frame 无法 misplacement 的黄框
    不干净指的是有些属性不应该由 stackview 提供,比如 distribution 属性
    pheyer
        21
    pheyer  
       2016-04-05 13:39:43 +08:00
    @wuyuehyang 我有一部分布局用了 OAStackView ,看了你这个觉得以后没必要用了
    colatin
        22
    colatin  
    OP
       2016-04-06 22:37:32 +08:00   ❤️ 1
    @wohenyingyu01 已经弄到 cocoa pods 上了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2529 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:00 · PVG 16:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.