我刚刚开始学习IOS开发,所以我的知识很少。
我正在为我的应用构建我的布局。我需要我的应用程序在所有设备上运行。我在某处读过,在创建约束时永远不要使用常量幻数,并始终使用标准值。我想为所有决议支持我的应用
每当我设定标准值时,它就会' 0' 0这是否意味着我必须使用乘数值来获得相似的间距
请告诉我们什么时候可以使用恒定值,何时我们必须避免。
答案 0 :(得分:7)
大多数情况下,您需要在屏幕中均匀分隔视图。这使得视图在所有设备上看起来都相似(例如在更大的屏幕上,它应该等同于在较小屏幕上显示的缩放版本)。
对于Eg。如果需要在视图上水平和平均分隔3个视图。如果将按钮的高度/宽度设置为幻数,请说100像素。 iPhone6 +屏幕上的3个子视图看起来比iPhone5屏幕上的要小。 这是你使用乘数时。像按钮的高度/宽度=超视图的0.2。
另一方面,在某些情况下你需要使用魔术数字。
对于Eg。您正在屏幕上创建一个画布,用户将使用左侧的菜单面板绘制画布。您知道菜单面板适合左侧50像素的条带。因此,如果您通过乘数设置菜单面板的大小,则菜单面板将在较大的屏幕上变大。这有点会使得绘制更大屏幕的优势无效。 这是当您使用幻数时,因为您知道菜单面板不需要大于50像素。
(注意:永远不要直接使用幻数。创建常数如k_menu_bar_height = 50.然后在任何需要的地方使用此常量。从维护的角度来看,这更具可读性和长期帮助)