iOS编程UI的程序化实现与自动布局最佳实践

3
我正试图了解在ios中布置UI的最佳实践。具体而言,我正在尝试了解纯编程UI、Storyboard和XIB以及ios 6.0+中自动布局之间的优劣。
我习惯于纯编程UI(没有自动布局),但我试图了解可能遇到的问题所在。分数坐标是否是个问题?我是否需要处理大量条件语句以适应不同的ios屏幕尺寸,或者我可以仅使用百分比在代码中处理它呢?
我在stackoverflow上看到了一些讨论,但没有一个全面的答案。

这完全取决于你。我更喜欢专业的编程方法,因为如果你注释掉了代码,修改起来会更容易。但是UI可以给你提供更好的实时布局。 - Sam Fischer
从技术角度来看,似乎没有任何缺点。 - Marc
1个回答

5
无论您是在代码中还是在界面构建器中添加约束,最终产品都是相同的。您不必处理分数坐标或者大多数情况下不同的屏幕尺寸 - 这基本上就是Autolayout的意义所在。
在Xcode 4中,在界面构建器中编辑约束非常糟糕。在Xcode 5中有了很大的改进。然而,如果您习惯于在代码中生成UI,则建议您在转换到Autolayout时继续以同样的方式进行。
如果您感兴趣,我已经写了一系列关于Autolayout的博客文章,涵盖了界面构建器、可视格式语言、单个约束的创建和我的Autolayout帮助类别极大地简化了代码布局的过程。

1
感谢您周到的回复。问题是,您认为在编程时不使用自动布局来布置用户界面是否不好?我想了解您是否认为使用自动布局更好。再次感谢。 - samonderous
我不确定是否涉及“表格”。相较于设置框架,我发现自动布局更加容易,但这需要花费很长的时间去学习。有时手动框架是正确的选择,通常自动布局胜出。默认情况下,我会使用自动布局。 - jrturton
我刚刚发布了一篇名为“30个自动布局最佳实践”的文章(http://blog.supereasyapps.com/30-auto-layout-best-practices/),其中涵盖了我在添加约束时使用的许多策略(适用于代码和故事板)。Xcode 9比之前的版本更容易使用自动布局。 - Paul Solt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接