2014-11-14 61 views
0

我对iOS开发有感觉,我想获得反馈。故事板/界面生成器与iOS开发的完整代码视图

故事板/界面生成器乍一看是非常棒的工具。事实是,除了快速的原型和非常简单的用户界面,我总是感觉被阻止使用它们。这个问题提供了一个很好的例子:how can I use one storyboard for 4" and 3.5" iphone screens with autolayout (ios6 + ios7)?

我正在考虑编写我所有的观点。主要是因为它会让我实现一些逻辑,如元素的相等间距。通过GUI工具,AFAIK无法通过跨设备的方式进行操作。

我的问题是:Storyboard/IB是否支持高级视图布局?如果你这样做,你通常如何编写你的视图:扩展UIView /调整控制器?

编辑:接受的答案链接很好。有兴趣的读者还可以看看Apple的Auto Layout Guide相关示例:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutbyExample/AutoLayoutbyExample.html#//apple_ref/doc/uid/TP40010853-CH5-SW7

+0

这个问题对于单个答案来说太宽泛了。是否有您希望支持的特定高级视图布局,您无法弄清楚如何在IB中创建?请注意,Xcode 6为故事板提供了新功能,而不是解决该问题。 – Kevin 2014-11-14 16:11:29

+1

您可以在故事板中做等间隔,但您需要在视图之间添加间隔视图来完成此操作(如果您支持多种屏幕尺寸,我认为这也是在代码中执行此操作的最佳方式)。至于你以前的问题,最简单的方法是让IBOutlets用于顶部约束和高度约束,并在代码中改变它们的常量值(这样混合式的故事板和代码方式)。故事板可以支持相当先进的布局,但每种情况都不相同,您必须决定哪种最适合您。 – rdelmar 2014-11-14 16:25:51

回答

1

在iOS 8之前,使用Interface Builder构建复杂布局要困难得多。你本质上局限于伸展或钉住边缘。现在,您可以构建适应尺寸类别的布局,并根据设备的宽度和高度更改布局或约束条件。即使在IB无法处理的非常困难的情况下,我仍然最终在XIB中构建大块视图,然后手动布置这些块。

TLDR;只要你知道如何使用它的所有功能,界面生成器将在99.9%的时间内有帮助。