在我的iPhone应用程序中,我有一个控件,在不同的屏幕上具有非常不同的大小。例如,(在iOS点坐标中)
3.5英寸设备(iPhone 4S):242x295
4英寸设备(iPhone 5系列,SE):242x383
4.7英寸设备(iPhone 6系列):297x482
5.5英寸设备(iPhone 6 Plus系列):336x551
正如您所看到的,这些控件大小不成比例。 问题 此控件具有图像作为其背景。该特定图像对于品牌身份和我的公司设计师想要采用的自定义外观非常重要。该图像呈现出一种材料的外观并具有纹理。它也在自身内部有阴影。我想将此图像应用于不同屏幕大小的控件(我的控件大小根据可用空间在运行时确定,因为苹果随时可能推出新的屏幕大小)。 我的当前解决方案 设计师为每个屏幕大小制作了单独的PNG,并在事先通过数学计算确定大小后,使用if-else为屏幕大小硬编码到我的控件上。正如您可能已经注意到的那样,这是一种可靠性很差的方法。我还想扩展到iPad,拥有更好的缩放系统肯定会有所帮助。
一个想法是,我将重复纹理的最小单元图像应用于我的控件,并使用重复选项进行缩放,以获得最终图像。然而,这样我就失去了阴影和圆角。(我也尝试过直接使用最大的图像,但不成比例的缩放使得圆角非常难看)
我试图寻找解决方案,但大多数资源都没有涉及此类图像。我不能失去这个图像的任何部分,它应该完全应用于控件,包括阴影和角落。
如果我使用了错误的词语来寻找答案或者我的描述显得太幼稚,我深感抱歉。这是我第一次在Stack Overflow发帖,我期待着听到你们的回复。
谢谢!
编辑2:Wain似乎提出了一个完美的答案。我会尝试一下并让大家知道结果。
3.5英寸设备(iPhone 4S):242x295
4英寸设备(iPhone 5系列,SE):242x383
4.7英寸设备(iPhone 6系列):297x482
5.5英寸设备(iPhone 6 Plus系列):336x551
正如您所看到的,这些控件大小不成比例。 问题 此控件具有图像作为其背景。该特定图像对于品牌身份和我的公司设计师想要采用的自定义外观非常重要。该图像呈现出一种材料的外观并具有纹理。它也在自身内部有阴影。我想将此图像应用于不同屏幕大小的控件(我的控件大小根据可用空间在运行时确定,因为苹果随时可能推出新的屏幕大小)。 我的当前解决方案 设计师为每个屏幕大小制作了单独的PNG,并在事先通过数学计算确定大小后,使用if-else为屏幕大小硬编码到我的控件上。正如您可能已经注意到的那样,这是一种可靠性很差的方法。我还想扩展到iPad,拥有更好的缩放系统肯定会有所帮助。
一个想法是,我将重复纹理的最小单元图像应用于我的控件,并使用重复选项进行缩放,以获得最终图像。然而,这样我就失去了阴影和圆角。(我也尝试过直接使用最大的图像,但不成比例的缩放使得圆角非常难看)
我试图寻找解决方案,但大多数资源都没有涉及此类图像。我不能失去这个图像的任何部分,它应该完全应用于控件,包括阴影和角落。
如果我使用了错误的词语来寻找答案或者我的描述显得太幼稚,我深感抱歉。这是我第一次在Stack Overflow发帖,我期待着听到你们的回复。
谢谢!
p
编辑:
这适用于自定义的基于UIButton的控件,以呈现卡片的外观。编辑2:Wain似乎提出了一个完美的答案。我会尝试一下并让大家知道结果。