加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 使用较少的图像用于非视网膜,视网膜和视网膜HD(@ 1x,@ 2x

发布时间:2020-12-14 17:46:10 所属栏目:百科 来源:网络整理
导读:为了在通用设备上支持iOS 7到8,我必须制作不同大小的相同图像的4个副本. 对于iPhone image@2x.png(iphone 4s,5,5s,6) image@3x.png(iphone 6) 适用于iPad image.png(ipad 2,ipad mini 1) image@2x.png(ipad 3,4,ipad mini 2,ipad Air) 这些图片真的让应用程
为了在通用设备上支持iOS 7到8,我必须制作不同大小的相同图像的4个副本.

对于iPhone
image@2x.png(iphone 4s,5,5s,6)
image@3x.png(iphone 6)

适用于iPad
image.png(ipad 2,ipad mini 1)
image@2x.png(ipad 3,4,ipad mini 2,ipad Air)

这些图片真的让应用程序大小膨胀.

是否可以使用1个图像大小,最大的一个和缩放以适应uiimageview并使用图像视图缩小较小屏幕上的图像?

imageView.contentMode = UIViewContentModeScaleAspectFit;

或者是否绝对有必要拥有不同尺寸的所有4份副本?

它适用于模拟器和视网膜iPad 3上的所有设备,但我无法在其他设备上进行实际测试,并担心图像可能无法显示.

有没有人尝试使用1张大图而不是副本?

解决方法

是的,理论上你可以使用最大分辨率的图像,让UI ImageView使用Aspect Fit模式缩小图像.

唯一的缺点是不支持视网膜的旧手机性能也较差.例如,当在UITableView的单元格上使用图像并滚动时,设备必须加载大图像,然后缩小图像,同时滚动它,并且它会在旧的,较慢的设备上断断续续.

所以,也许只是在列表视图中使用多个图像(应该只是缩略图,无论如何都很小,或者只是在这里使用较小的图像),但不要担心留在屏幕上而不滚动的较大图像.

确保使用允许缓存的方法(如imageNamed:)在列表视图中加载图像.

只要您考虑缩小图像所涉及的性能损失,您就可以只使用最大的图像并将其缩小以适应.

顺便说一句,是的,我已经在App Store的真实应用程序中使用了这种技术.

我见过的另一种技术是包含较低质量的图像(1x或2x),如果在较高分辨率的设备(2x或3x)上运行,则自动从网络下载高分辨率图像.也许对它很好,只能在wifi下载它们.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读