我应该在 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)