过去我总是看到名为position
和positionInPixels
的属性是相同的。这次position * 2 == positionInPixels
。谁能告诉我这两个属性之间有什么区别,或者它们的价值会有什么不同?
答案 0 :(得分:5)
position
以点为单位,positionInPixels
以像素为单位。在非视网膜设备上1点= 1像素。在像iPhone 4 / 4S和新iPad这样的视网膜设备上,1点= 2像素。
每iOS Human Interface Guidelines:
注意:像素是讨论设备屏幕大小或在图像编辑应用程序中创建的图标大小时使用的适当度量单位。 点是讨论屏幕上绘制区域大小时使用的适当度量单位。
在标准分辨率设备屏幕上,一个点等于一个像素,但其他分辨率可能会决定不同的关系。例如,在Retina显示屏上,一个点等于两个像素。
有关此概念的完整讨论,请参阅iOS "Points Versus Pixels"中的View Programming Guide。
答案 1 :(得分:0)
position
为您提供积分位置,而positionInPixels
则为您提供以像素为单位的位置。在iPhone 4上,例如,位置可以在(0,0)到(320,480)的范围内(纵向模式); positionInPixels的范围可以从(0,0)到(640,960),以反映其视网膜显示的更高分辨率。
基本上,它们在视网膜显示设备上是不同的;它们在非视网膜显示设备上是相同的。
希望这会有所帮助......
答案 2 :(得分:0)
当您使用Retina显示时,您的画布仍然包含320x480点,但每个点由2个像素组成。在标准显示中,每个点都是一个像素。这就是为什么视网膜显示更加详细,因为可以在纹理中使用更多的像素数据。因此,像素中的位置是指特定像素上的位置。 (即,在高视网膜显示中,点0可以是像素0或像素1)