如何在界面生成器中正确处理像素



如何在Interface Builder中以正确的方式处理像素维度?例如,我有一个图像模型,其中所有的尺寸和大小都以像素为单位:"这个按钮从左边开始有边距-30个像素,这个文本字段有100个像素长,等等"。所以,如果我为Retina开发,我需要设置60 pt的边距吗?IB中只有视网膜3.5和视网膜4,没有非视网膜。那么,在IB中处理视网膜和非视网膜屏幕的正确方法是什么呢?如何正确设置UI元素的维度?

很可能您使用的是逻辑点,而不是像素。这就是为什么你不应该担心视网膜和非视网膜,因为iOS将在运行时将逻辑点转换为像素。

你说是什么意思

IB中只有视网膜3.5和视网膜4,没有非视网膜

在ios中设计UI时,需要记住所有度量都是以点而非像素为单位的。因此,如果你有尺寸为640x960的实体模型,你需要将所有元素切割成两个版本,一个是非视网膜(320x480),需要像往常一样命名,即test.png和尺寸为(640x960)的视网膜版本命名test@2x.png.请注意,图像名称相同,只有@2x不同,这实际上表明图像是retina。iOS会自动决定显示哪个图像,无论是test.png还是test@2x.png.关于界面构建器中使用的测量值,您可以始终以非视网膜大小进行计算,例如,如果您的按钮有60px的视网膜margin,则需要将值设置为30。

最新更新