繁体   English   中英

避免UIImaveView在其他设备上拉伸

[英]Avoid UIImaveView stretchs on different devices

我需要在iOS项目的情节提要中设置背景图像,问题是我不希望图像在不同的屏幕上拉伸,例如,如果使用iPad,我会看到拉伸的图像,这并不是真的适应页面中其他组件的表示。

有没有办法使用一组将在用户正在使用的设备上加载的图像,或者简单地有没有办法为所有设备设置单个图像并让她正确适应视图。

我已经尝试过使用纵横比来适应或填充纵横比,但这不是我想要达到的目标。

//编辑1(添加说明示例)

例如,从Photoshop中导出为png的Image(存储在xcassets中)。 图像的大小类似于iphone X(我认为高度812,宽度373)。 我想要实现的是,如果我使用iPad或iPhone 5,则该图像(全屏背景)必须像iPhone X一样显示。我认为不可能对所有图像都使用单个图像。设备,但可能存在一个技巧,可以在使用过的设备的基础上加载不同的图像。

使用资产目录(具有准确的资源@ 2x / @ 3x或某些xcode支持的矢量格式PDF)

在Xcode 8及更高版本中,可以将图像添加为pdf而不是png ,创建一个新的图像集,然后在“属性”检查器中将“缩放Single Scale设置为Single Scale选项。 在此处输入图片说明

您需要了解屏幕分辨率以及不同屏幕分辨率下的image / png文件比例。 是有关您的查询的有用链接。 另外,我建议您阅读有关人机界面指南的Apple官方文档。

如果它是静态图像,而您不在乎屏幕分辨率是固定的宽度高度,则可以避免使用1x,2x和3x分辨率,否则,几乎所有图像都需要全部三种分辨率,或者是App图标,启动屏幕或自定义图片。

注意:对于自定义图像,您可以修改图像的1x,2x和3x图像分辨率或scale属性,也可以根据您的容器/需求进行修改。

为iPhone和iPad创建两个最大分辨率的图像-1242×2208(对于iPhone)和2048 x 2048(对于iPad)

在资产中,添加用于背景的图像集,选择该图像集,然后像在图像中一样配置属性检查器。

  • 选择秤作为单秤
  • 在设备下检查iPhone和iPad

在此处输入图片说明

在情节提要中,将UIImageView添加到控制器,将其模式设置为“ Aspect Fill”,并设置所有出口

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM