在 iOS 8.0 中使用 NSLayoutAnchor

iOS 9.0 引入了一些新的关于 Auto Layout 的 APIs,其中一个就是 NSLayoutAnchor

在 iOS 8.0 中,约束的书写方式通常像下面这样:

view2.translatesAutoresizingMaskIntoConstraints = false

let constraint = NSLayoutConstraint(item: view2,
    attribute: .Top,
    relatedBy: .Equal,
    toItem: view1,
    attribute: .Top,
    multiplier: 1,
    constant: 0)

constraint.active = true

而在 iOS 9.0 中,上面的代码可以简化成下面这样:

view2.translatesAutoresizingMaskIntoConstraints = false
view2.topAnchor.constraintEqualToAnchor(view1.topAnchor).active = true

那么为了在 iOS 8.0 中也可以有 9.0 中那样便捷的 APIs,我参照 9.0 的 APIs 使用了一点点的代码进行封装,于是上面的代码在 8.0 中可以变成这样:

view2.top.eq(view1.top)

相关代码只有短短几行,源码在 MCDLayout

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容