Xcode 6 以编程方式自动布局?

Xcode 6 auto layout programmatically?

我的问题出在这张图片上:

我在使用 Xcode 6 时遇到了这个问题,我想知道是否有办法以编程方式解决这个问题...我想编写一个代码,使我的视图控制器适应所有设备... 可能吗?? (我已经手动尝试过自动布局,但我真的很糟糕)...

您似乎实施了过于严格的限制。正如我在屏幕截图中看到的那样,您可能已经为按钮和输入设置了严格的宽度限制,而不是彼此之间的宽度相等或间距相等。使您的约束更加灵活。首选 >=<= 约束、等宽约束、leading/trailing 约束。与严格布局相比,您将需要更多布局,但您将获得真正的自适应布局。

要在视图之间获得灵活的相等间距,您可能会发现间隔视图的概念很有帮助。简而言之,放置一个透明的 UIView 并为其设置一些约束。要了解更多信息,请阅读 apple docs. If you like videos more (like I do :)) - watch wwdc videos, they are great. For example, Auto Layout by Example or Taking Control of Auto Layout in Xcode 5

作为均匀排列按钮的示例,请查看此屏幕截图: 这是通过有点复杂但可以理解的约束集完成的:

所有的按钮都有相同的宽度限制。所有间隔视图彼此具有相等的宽度约束。每个间隔视图都有 leading/trailing 对按钮或父视图的约束 leadings/trailings。

有了 iOS 9,您还有更多选择:

  • 您可以使用 UILayoutGuide
  • 而不是间隔视图
  • UIStackView 允许在完全没有约束的情况下实现相同的布局

我建议您观看新的 WWDC 2015 视频,"Mysteries of Auto Layout",Part1 and Part2

您好@Pedro Costa这里不可能写出您上述问题的解决方案。我正在给一个link 一些运动来研究它。太简单了。

希望这能让您知道如何设置它。

AutoLayout 以编程方式约束

http://www.thinkandbuild.it/learn-to-love-auto-layout-programmatically/

主页这会有帮助。