我一直在寻找 Auto Layout 和 Auto Resizing 之间的正确区别,但找不到确切的答案。我可以在哪里使用“自动布局”以及在哪里使用“自动调整大小”?任何帮助都将是感谢的一部分。
4 回答
正如马特·纽伯格在他的书中所说:
自动调整大小是概念上分配子视图“弹簧和支柱”的问题。弹簧可以伸展;支柱不能。弹簧和支柱可以在内部或外部分配。因此,您可以指定(使用内部弹簧和支柱)是否以及如何调整视图的大小,以及(使用外部弹簧和支柱)是否以及如何重新定位视图。
和
自动布局,取决于视图的约束。约束(NSLayoutConstraint 的一个实例)比“autoresizingMask”复杂得多,它是一个具有数值的成熟对象,并且可以描述任何两个视图之间的关系(不仅仅是子视图及其父视图)。
我建议观看 WWDC 2012 会议https://developer.apple.com/videos/wwdc/2012/?id=202
Auto Layout 是一种定义动态 GUI 的新方法。之前,我们有自动调整大小的掩码,它描述了在调整其父视图大小时子视图将如何调整大小或移动。使用自动布局,您可以很容易地做同样的事情,也可以做很多更复杂的 GUI。
自动调整大小是在其层次结构中布局视图的最有用的属性之一。通过这个链接。
http://www.techpaa.com/2012/05/understanding-uiview-autoresizing.html
AutoResizing :自动调整 大小意味着视图的内容将如何适合视图。这可能取决于视图的自身内容。
AutoLayout: AutoLayout 是指视图的位置、视图大小等外部约束如何由其他相邻组件支持。
AutoLayout 触发 AutoResizing 任务,并且对于自动调整活动,自动布局强制或正常更改或破坏与相应视图相关的视图的默认约束(如果需要)。
在具有约束的超级视图中使用自动布局[当视图中的空间由于不同的设备(例如 3.5 或 4 英寸视网膜)而发生变化时,这很有帮助] 并使用自动调整大小来调整视图中的 GUI 对象的大小[这在有是设备方向期间视图中空间的变化]