为什么我应该使用 Aspect Ratio NSLayoutConstraint?
For what should I use the Aspect Ratio NSLayoutConstraint?
当我第一次开始使用 AutoLayout 时,我找不到任何有助于理解 Aspect Ratio NSLayoutConstraint 的例子。
有人有使用示例吗?谢谢!
我有一个在所有设备和方向上保持正方形视图居中的演示示例 here。
约束是在 IB 中设置的,但您也可以在代码中轻松设置它们。其中大部分是为了解释如何确定边距约束的优先级,让自动布局引擎知道什么时候打破什么,但是让视图方正的是 aspect 比例 - 它是 1:1.如果你想要一个矩形,你可以将其设为 2:1(或 1:2,视情况而定)。
一旦你理解了这两个部分(优先级和宽高比),最后一个部分是实际边距值 - 我将它们设置为 10 点,这意味着正方形在最小轴上有 10 点边距。如果设备是 iPad Pro 12.9 英寸,您会得到一个 非常 的大方块。如果它是 iPhone SE,你会得到一个非常小的。无论如何,您都会获得 10 分的差价。将边距值设置为 50,正方形视图相对较小。 重要的是纵横比为1:1,它永远是正方形。
当我第一次开始使用 AutoLayout 时,我找不到任何有助于理解 Aspect Ratio NSLayoutConstraint 的例子。
有人有使用示例吗?谢谢!
我有一个在所有设备和方向上保持正方形视图居中的演示示例 here。
约束是在 IB 中设置的,但您也可以在代码中轻松设置它们。其中大部分是为了解释如何确定边距约束的优先级,让自动布局引擎知道什么时候打破什么,但是让视图方正的是 aspect 比例 - 它是 1:1.如果你想要一个矩形,你可以将其设为 2:1(或 1:2,视情况而定)。
一旦你理解了这两个部分(优先级和宽高比),最后一个部分是实际边距值 - 我将它们设置为 10 点,这意味着正方形在最小轴上有 10 点边距。如果设备是 iPad Pro 12.9 英寸,您会得到一个 非常 的大方块。如果它是 iPhone SE,你会得到一个非常小的。无论如何,您都会获得 10 分的差价。将边距值设置为 50,正方形视图相对较小。 重要的是纵横比为1:1,它永远是正方形。