我应该在 Xcode 6 中使用自动布局还是更喜欢为所有 iOS 设备使用单独的故事板

Posted

技术标签:

【中文标题】我应该在 Xcode 6 中使用自动布局还是更喜欢为所有 iOS 设备使用单独的故事板【英文标题】:Should I use auto layout in Xcode 6 or should I prefer using separate storyboards for all iOS devices 【发布时间】:2014-11-05 09:13:19 【问题描述】:

我在使用自动布局时遇到了很大的困难,因为有时我会更改视图,这与已经分配的约束变得一团糟。所以我真的应该给自己更多的时间来学习自动布局,还是应该只使用多个故事板,因为这需要一些时间,但最终让我们更容易在未来轻松更改设计。

【问题讨论】:

是的,一开始你会遇到很多困难。我一开始就疯了。试一试。关于约束的一个很好的提示:始终使用最少必要数量的约束。直到现在,我总是设法为所有设备只使用通用(Any-Any)尺寸等级。最后 - 自动布局为 GUI 提供了惊人的帮助。 【参考方案1】:

根据我的学习,

我也有同样的感觉,因为这是第一次很难学习和理解 AutoLayout。以下是使用

的许多优点

自动布局优势

未来的 ios 版本将支持自动布局

当新版本的操作系统发布时,它将为您节省大量时间

使用多个故事板

如果您想更改视图中的任何内容,您需要维护每个屏幕,这显然很麻烦。

它会占用你很多时间来修复 还有更多

花很少的时间在AutoLayout。它并不难学。

Auto Layout

Size Class Explanation

我相信上面的链接对所有初学者都有帮助。

【讨论】:

【参考方案2】:

我们使用的做法总是将故事板分成更小的块,因为它们变得非常大并且难以处理。但我们不会将它们拆分为不同的设备,而是按功能划分。例如,入职流程有一个单独的故事板。

但我们总是使用自动布局和 iOS 8 尺寸类来支持不同的设备。在某些情况下,我们甚至在代码中编写约束。

所以尽早学习自动布局,它会在多个场合为您节省时间。

【讨论】:

【参考方案3】:

在新的 Xcode 中,您可以在 Storyboard 中找到有助于管理各种屏幕尺寸的尺寸类。一开始似乎很难,但很快就会为您节省很多工作。

我建议从这里开始:https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/_index.html

创建适当的约束很重要。设置视图大小类:任意 x 任意,然后您可以自动创建约束,单击编辑器 -> 解决自动布局问题 -> 重置为建议的约束或使用快捷方式:Command + Option + Shift + "=" 选择情节提要中的对象。老实说,它在每种情况下都无法正常工作,有时您只需要手动设置即可。

总结一下,学习 AutoLayout 并在一个 Storyboard 中制作所有屏幕尺寸是值得的。

【讨论】:

是的,我想你是对的。感谢您的链接。它也帮助我解决了我的问题。

以上是关于我应该在 Xcode 6 中使用自动布局还是更喜欢为所有 iOS 设备使用单独的故事板的主要内容,如果未能解决你的问题,请参考以下文章

约束/自动布局栏隐藏,Xcode 6

为啥约束更喜欢调整一个堆栈的大小而不是另一个,你如何改变这种偏好? (xCode)

Swift Xcode 自动布局约束仅针对 iphone 6 plus 和 ipad

Xcode 6 中已开发应用程序中的自动布局实现

Xcode 6 不遵守自动布局约束

自动布局不会在 iOS 8-Xcode 6 中立即更新帧