与在 Interface Builder 中使用自动布局相比,SnapKit 有啥优势?
Posted
技术标签:
【中文标题】与在 Interface Builder 中使用自动布局相比,SnapKit 有啥优势?【英文标题】:What advantages does SnapKit have over using autolayout in Interface Builder?与在 Interface Builder 中使用自动布局相比,SnapKit 有什么优势? 【发布时间】:2016-12-27 14:33:35 【问题描述】:自从 Apple 为 ios 引入自动布局以来,我几乎一直在使用 Interface Builder。
我最近遇到了SnapKit,但与在 IB 中使用约束相比,我没有看到任何直接的优势。它唯一要做的就是解决更大团队中的合并冲突(IB 中的合并冲突很难处理)。
有谁同时使用过 SnapKit 和 IB,知道为什么 SnapKit 更受欢迎吗?
【问题讨论】:
【参考方案1】:对于需要回答这个问题的任何人,在使用了一段时间后,我发现没有真正的理由使用一个高于另一个。 SnapKit 并没有真正解决 IB 固有的任何问题。这一切都归结为用户偏好,尽管我个人的建议是坚持使用 IB,因为这是标准的布局工具,而且非常强大。
如果您只是因为 IB 看起来令人生畏而使用 SnapKit,我认为值得花时间和精力学习 IB 基础知识(实际上应该只需要一天左右的时间)。
【讨论】:
SnapKit 是一个简化布局代码的库。很多人不使用 Interface Builder,因为它在团队工作时会带来很多麻烦——尤其是合并问题。 Apple 的常规 API 非常冗长,而 SnapKit 提供了一个更轻量级的 API 作为替代。 @KaiEngelhardt 这些都是有效点,但我已经能够以我的方式很好地将问题与 NIB 文件合并。当我们计划我们的工作时,我们会考虑与 NIB 文件合并问题的可能性,并尝试保持 UI 工作互斥。到目前为止效果很好。 我从未见过一家认真的公司使用 IB。 使用 3rd 方便利库是在未来 Apple 更改核心内容时解决大量遗留问题的好方法。因为它现在发现 Masonry 和 XCode 8 / iOS11 故事板的问题。只要学会正确地使用约束......你会成为一个更好的开发者。以上是关于与在 Interface Builder 中使用自动布局相比,SnapKit 有啥优势?的主要内容,如果未能解决你的问题,请参考以下文章
在 Interface Builder 中使用泛型类作为自定义视图
如何在 Interface Builder 中使用自定义 UIButton 类别?
如何使用 Interface Builder 中的自定义 UITableViewCell?
来自 Interface Builder 的自定义 UIView