我们都知道在Assets.xcassets中放入@2x和@3x的图,在iphon6及以下屏幕下会加载@2x图,在IPhone6p/6sp下会加载@3x图,可是今天我做了一个实验,我做了一个demo,中心点放置了一个imageView,无论我用什么机型运行这个程序,我打印imageview.image.size.width的大小永远都是@2x图的大小(比如:@2x尺寸为40x40,@3x为60x60),打印的一直是20
请问哪个大神能解读一下吗?

解决方案 »

  1.   

    6p 1pt = 3px   6 1pt = 2px。所以打印20 没有问题
      

  2.   

    这是没有错的,@2x和@3x表示的是像素,而手机上表示的是点,一个点就相当于一个像素小方格,6的一个像素小方格也就是一个点是两个像素就是@2x,而6p的一个像素小方格也就是一个点是三个像素点也就是@3x,所以6和6p的像素小方格也就是点的个数是相同的,所以你打印的也是相同的,但是其实他加载了不同的照片,如果你真要试试,你可以先不要@3x的图片,只留@2x 的图片,然后在6p上运行试试,应该就知道被加载没有了,坐等结贴