在自动布局中使用标准值而不是常量 IOS

using Standard Values Instead of constant in Autolayout IOS

我刚开始学习IOS开发,所以我对它的了解很少。

我正在为我的应用构建布局。我需要我的应用程序在所有设备上 运行。我在某处读到,在创建约束时永远不要使用常量幻数,而应始终使用标准值。我想支持我的应用程序的所有分辨率

每当我将标准值设置为“0”时,这是否意味着我必须使用乘数值来获得相似的间距

请告诉我何时可以使用常量值以及何时必须避免。

大多数时候您需要 space 视图在屏幕上均匀显示。这使得视图在所有设备上看起来都相似(比如在更大的屏幕上它应该等同于它在较小屏幕上的缩放版本)。

例如。如果你需要 space 3 个视图水平且平均地放在一个视图上。如果将按钮的 height/width 设置为幻数,比如 100 像素。这 3 个子视图在 iPhone6+ 屏幕上看起来比在 iPhone5 屏幕上看起来相对较小。 这是您使用乘数的时候。就像按钮的 height/width = superview 的 0.2。

另一方面,在某些情况下您需要使用幻数。

例如。您正在屏幕上创建一个 canvas,用户将在其中使用左侧的菜单面板进行绘制。您知道菜单面板适合左侧的 50 像素条带。因此,如果您通过乘数设置菜单面板的大小,那么菜单面板将在更大的屏幕上变得更大。这会在某种程度上抵消拥有更大屏幕进行绘制的优势。 这是当您使用魔术数字时,因为您知道菜单面板需要不大于 50 像素。

(注意:永远不要直接使用幻数。创建像 k_menu_bar_height = 50 这样的常量。然后在任何需要的地方使用这个常量。这更具可读性并且有助于长 运行 来自维护角度)