如何在iOS设备上调整图像大小?

时间:2018-12-18 02:08:42

标签: ios iphone xcode ipad sprite-kit

我正在制作一个spritekit游戏。我了解如何在SKScene中调整图像的大小,因为在所有设备上都是750x1334点,但是应用程序的主页使用UIKit /集合视图控制器,因此我不确定如何调整图像的大小。我想让图像占据屏幕宽度的1/3,然后使图像高度等于图像宽度。

  

iPhone SE为320x568点

     

iPhone 7为375x667点

     

10.5英寸iPad Pro为1112x834点

我是否只制作最大设备宽度(1112点)的1/3的图像,然后让较小的设备按比例缩小图像?即1112点除以3是370点,那么要制作宽370点(740.6px@2x和1112px @ 3x)的图像吗?

2 个答案:

答案 0 :(得分:2)

equal width constraint中,您可以使用以下步骤,

  1. 在图像视图和实际视图之间放置相等的宽度和相等的高度
  2. 选择1 to 1:3并将乘数从equal height constraint更改
  3. 选择1 to 1:3并将乘数从iPhone更改
  4. 图像视图现在应该占据屏幕尺寸的1:3。

iPadthis.state.get_schedule设计附上了截屏,

image1 image2 image3 image4

希望有帮助。

答案 1 :(得分:2)

  

我想让图像占据屏幕宽度的1/3,然后使图像高度等于图像宽度。我是否只制作最大设备宽度(1112点)的1/3的图像,然后让较小的设备按比例缩小图像?

不。当“让较小的设备按比例缩小图像”时,您仍在加载完整尺寸的图像,从而浪费了内存。另外,让运行时自动按比例缩小图像(例如,因为您使用具有宽高比适合或宽高比填充内容模式的图像视图)会浪费时间和处理能力,通常在应用程序试图启动的关键时刻。

正确的过程是:

  • 在应用程序 bundle 中,您应仅将图像的一个大小包括在内,可能采用三种分辨率,并且该大小应为可接受的最小大小在将显示的最大屏幕上。

  • 在您的代码中,应确定要在运行我们的设备屏幕上实际显示图像的尺寸 ,并且加载缩小到该尺寸的图像的缩略图。

这样,不会浪费内存;存储在内存中的图像就是显示的图像。