objective-c - 为什么我应该使用 Aspect Ratio NSLayoutConstraint?

标签 objective-c swift xcode autolayout nslayoutconstraint

当我第一次开始使用 AutoLayout 时,我找不到任何有助于理解 Aspect Ratio NSLayoutConstraint 的例子。

有人有使用示例吗?谢谢!

最佳答案

我有一个在所有设备和方向上保持正方形 View 居中的演示示例 here .

约束是在 IB 中设置的,但您也可以在代码中轻松设置它们。其中大部分是为了解释如何确定边距约束的优先级,让自动布局引擎知道什么时候打破什么,但让 View 方正的是 aspect 比率 - 它是 1:1。如果您想要一个矩形,则将其设置为 2:1(或 1:2,视情况而定)。

一旦理解了这两个部分(优先级和长宽比),最后一个部分就是实际边距值 - 我将它们设置为 10 点,这意味着正方形在最小轴上有 10 点边距。如果设备是 iPad Pro 12.9 英寸,您会得到一个非常的正方形。如果是 iPhone SE,你会得到一个非常小的。无论如何,您都会获得 10 分的差价。将边距值设置为 50,正方形 View 相对较小。 重要的是纵横比为 1:1,它始终是正方形。

关于objective-c - 为什么我应该使用 Aspect Ratio NSLayoutConstraint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43123670/

相关文章:

objective-c - 在 prepareForSegue 中设置 UIImageView.image

swift - 如何在 Swift 中打开邮件面板?苹果系统

ios - 无法正确渲染 "UIGraphicsBeginImageContextWithOptions"

ios - 在 Xcode Swift 中显示空白/白色 View 的弹出窗口演示文稿

ios - Xcode 中的默认左花括号

iOS:Google+ 按钮在 XIB 文件中不起作用?

objective-c - 如何快速编写这段代码?

iphone - NavigationController 的后退按钮不出现

swift 4 : pattern match an object against a tuple (Tuple pattern cannot match values of the non-tuple type)

swift - 如何迭代 macOS 应用程序的窗口直到满足条件?