ios - 如何实现不同分辨率的图像

标签 ios xcode image resolution

我想使用分辨率作为为 iOS 应用程序实现图像的一种方式。

iOS 对现代设备有以下分辨率:

iPhone 5/SE:640x1136
iPhone 6/7:750x1334
iPhone 6/7+:1242x2208
ipad mini/air: 1536x2048
iPad Pro:2048x2732


我正在构建的应用程序仅限横向,因此我正在考虑为每张图片创建 5 张图片,以匹配必要的分辨率。

我为如何使用图像集在 xcode 中实现这一点而苦恼。我可以创建 1 个图像集,并让它有 3 个用于 iphone 的插槽,还有 3 个用于 ipad 的插槽。但是,这只能满足我要创建的 5 个图像中的 3 个:

iphone 6/7 @2x、iphone 6/7+ @3x 和 ipad pro 2x。

有没有办法为 iphone 5 和更小的 Ipad 实现额外的插槽?

我还没有找到办法,所以我想我必须使用第二个图像集来添加 2 个缺少分辨率的图像。这将要求我在代码中使用 View Controller ,根据设备的分辨率加载不同的图像。

我同意这个额外要求。我的问题是这是实现该策略的正确方法吗?你会如何实现这个?更好的策略是什么?


注意:我试图避免的是限制使 View 看起来像我想要的方式所需的约束数量。我从一个应用程序开始,我使用了 2 张基于宽高比的图像,我认为这很棒,但 iphone 4 把所有东西都扔掉了。然后我了解到也许我不应该担心 iPhone 4,因为它已经过时了。因此,我要么使用 2 个图像方法从头开始开发 UI,要么尝试使用分辨率的 5 个图像方法。

我是一名新开发人员,所以感谢您的帮助,抱歉,如果我太冗长了,我希望这也可以帮助其他人,而且我发现冗长绝对是学习时的最佳方式。感谢您提供任何信息!!!

最佳答案

虽然您不能向 .xcassets 添加额外的插槽,但您可以实现 size classes在你的 .storyboard 文件中。这是为每个设备设计独特界面的简单方法。使用它,您可以为 iPhone 4 设计漂亮的界面(但是,正如您在 OP 中指出的那样,它已经过时了)。

关于ios - 如何实现不同分辨率的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42207086/

相关文章:

image - 在asm中翻转图像中的第一个像素

ios - 使 TableView 中的每个项目可单击以执行操作 - Swift

xcode - Swift playground 打印括号

ios - 错误 ITMS-9000 : "Missing Code Signing Entitlements. No entitlements found in bundle" - How to change app ID name

objective-c - 如何删除应用程序可访问的所有钥匙串(keychain)项目?

objective-c - 如何将标题放入 Xcode 中的框架?

image - 使用 matlab 对图像的色度分量进行下采样

linux - 如何在不包括可用空间的情况下创建光盘(sd 卡)的 .IMG 镜像?

ios - 网络蓝牙在移动设备中的可用程度如何?

ios - 遵循安全路径的数据库事务