【问题标题】:Is it crazy to Auto Layout everything in code? [closed]在代码中自动布局所有内容是不是很疯狂? [关闭]
【发布时间】:2018-01-31 10:37:16
【问题描述】:

我将所有内容都放在代码中,并且喜欢控制和轻松复制代码的能力(当可重用性没有意义时)。我确实在 NSLayoutConstraint 周围使用轻量级包装器来减少冗长,但我注意到我的文件非常大,因为每个视图都需要先实例化然后布局结构。

这很疯狂吗?使用故事板/XIB 是否更好/更快?

【问题讨论】:

    标签: ios layout view autolayout uikit


    【解决方案1】:

    我在代码中列出了我的观点 - 以及他们的子视图,所以我属于你来自的同一所学校。但是作为一个学者,看看UIStackView,它将为您节省大量的NSLayoutConstraints 工作,因为您基本上将所有内容都放在 StackView 的子视图中 - 不用担心约束 - 然后只有 em> 处理 StackView 与其 superView 相关的约束。您仍然需要处理 UIStackView 属性,但与必须处理任何给定视图的每个子视图的 layoutConstraints 相比,这没什么。

    我相信有 101 种方法可以为应用、代码、Interface Builder、第 3 方的东西换肤,我不相信任何人说他们的方法是正确的 - 或者说别人的方法是错误的 - 只是不同生活学校,而一些开发人员只是代码受虐狂。

    【讨论】:

      【解决方案2】:

      这是一个意见问题,但无论如何我都会权衡一下。我是一名高级/首席 iOS 开发人员,我认为除了将其作为学习练习之外,或者在有充分理由的有限情况下,在代码中进行视图布局和自动布局是一个非常糟糕的主意,而且我不会雇用坚持这样做的人。

      首先需要做更多的工作,还有更多的工作需要维护。

      【讨论】:

      • 这个^。在某些情况下您会想要这样做,将其作为练习将使您能够判断那些极端情况,但是在我将项目移植到 swift 后,我​​发誓不再使用代码作为默认设置,并且拥有从未如此快乐。使用 3rd 方的东西来让代码更容易做听起来像是一场彻头彻尾的噩梦。
      • 这是一个糟糕的答案 - 您应该刚刚投票结束“主要基于意见”。编写应用程序没有一种正确的方法。虽然自动布局不是某些应用程序(例如游戏、完整的自定义界面)的正确选择,但它绝对是实用程序应用程序的正确选择。
      【解决方案3】:

      如果是用代码写的我同意使用 Masonry(Objective-C) 或 SnapKit(Swift)的意见

      视觉格式语言也可以很简单

      Xib 或情节提要限制不适合多人游戏开发

      如果个人开发xib或者storyboard也是不错的选择

      【讨论】:

        【解决方案4】:

        也许你可以使用 Masonry(Objective-C) 或 SnapKit(Swift) 替换 NSLayoutConnstrant

        【讨论】:

        • 这不是回答问题的好方法
        猜你喜欢
        • 2013-06-01
        • 1970-01-01
        • 2014-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多