设置约束与设置 UIView 框架的优点

Advantages of setting Constraints vs Setting Frames of UIViews

设置约束与简单设置 UIView 的框架相比有什么优势?约束可以做什么,而简单地根据 UIScreen.MainScreen.Bounds 或 View.Bounds 不能设置框架?

设置框架并不能保证在框架改变(通过旋转)时调整大小。自动布局确实通过根据框架和相对大小调整视图来保证这一点。您很可能会在多方向应用程序中使用自动布局。

设置约束意味着您不再需要考虑框架。您不再需要考虑计算间距和将项目并排放置,也不必考虑在不同屏幕上调整大小。

您真正需要考虑的是您希望视图如何相对于彼此或相对于屏幕放置。这极大地简化了 UI 代码,因为它将所有程序放置都排除在外。

简而言之,AutoLayout 是在屏幕上放置视图并让一切正常工作的最佳方式。它应该在 大多数 情况下使用。

使用自动布局约束,我永远不必担心设置框架或处理多种屏幕尺寸的框架(iPhone 有 4 种不同尺寸 运行 iOS 8)。

自动布局的好处

  • 针对不同的屏幕尺寸自动调整
  • 自动调整横向到纵向(反之亦然)的方向变化