如果我使用 iPad 尺寸创建应用程序,如何找到 iPhone 尺寸的“安全区域”?

Posted

技术标签:

【中文标题】如果我使用 iPad 尺寸创建应用程序,如何找到 iPhone 尺寸的“安全区域”?【英文标题】:How can I find the 'safe region' for iPhone size if I am creating my app using iPad size? 【发布时间】:2016-11-10 13:49:55 【问题描述】:

我正在创建一个游戏并想使用 iPad 尺寸设置(横向:1024x768)。据我所知,使用 iPad 设置只会在 iPhone 上裁剪掉部分高度。假设我有一个适用于 iPad (1024x768) 的 2048x1536 背景图像和适用于 iPhone 6+ (736x414) 的 2208x1242 图像,

我。如何从 iPad 上确定将出现在 iPhone 6+ 上的点和像素的“安全区域”?

二。 iPhone 6+ 的“安全区域”是否与具有 1334x750 图像的 iPhone 6 (667x375) 相同?如果不是,如何同时确定点和像素?

【问题讨论】:

是的,每个 iPhone 或 iPad 上的安全区域/裁剪区域都是相同的,具体取决于您要裁剪的设备。因此,如果您的游戏在 iPhone 6 上看起来不错,那么在 iPhone 6Plus 或 iPhone 5 上也可以。我不明白您问题的第二部分如何确定尺寸和像素。只需像往常一样放置您的东西,并确保您正在使用的设备上的所有内容都符合您的要求。其余的 SpriteKit 使用 .aspectFill 缩放为您完成,因此您不必担心它。 这就是 .aspectFill 的魅力所在,如果您的游戏在 1 台 iPad 或 iPhone 上看起来不错,那么它在所有其他 iPhone 或 iPad 上的外观和播放效果都会相同(可能是 iPhone 4) @crashoverride777 我刚刚编辑了我的意思是点和像素的问题。鉴于我在上面提供的图像尺寸和点,我想知道从 iPhone 高度的顶部和底部裁剪的确切点和像素。 我不知道确切的数字,你需要自己测试一下。因此,如果您使用 iPad 设置将某些东西放在 frame.maxY 并减去您需要的数字,直到您在正在复制的设备上看到它。我认为它在每边 100-150 的范围内。 我不确定当你使用 iPhone 设置时它在 iPad 上裁剪了多少 【参考方案1】:

我假设您希望创建一个可在 iPad 和 iPhone 上运行的通用游戏。如果是这种情况,在属性检查器中定义图形资源时有两种可能的方法(在 Xcode 界面的最右侧,同时选择 Assets.xcassets)。在“设备”部分,您可以选择 Universal、iPhone、iPad、Apple Watch、Apple TV、Mac 以及它们的任意组合。

    如果您只选择“通用”,那么您必须确保您插入的资源在 iPhone 和 iPad 上看起来都很好。如果是这种情况,请参阅下面的一些提示,了解如何确保您的资产可以安全地普遍使用。

    如果您选择“iPad”和“iPhone”,则必须为 iPad 和 iPhone 添加单独的资产,以及它们相应的分辨率和纵横比。在我过去的经验中,我一直走这条路。对于 iPad (1x),您必须提供 1024x768 背景,对于 iPad (2x),您必须提供 2048x1536,除非您选择“单比例”并使用单个矢量 PDF 文件。对于 iPhone,您必须分别提供 480x320(1x,仅在您需要支持 iPhone 3G/3GS 等旧设备的情况下,鉴于 Sprite-Kit 是随 ios7 引入的事实,这不太可能),然后是 1334x750(2x ) 和 2208x1242(3x,适用于 iPhone 6+、6S+、7+)。使用这种方法,您无需担心“安全”区域,因为您提供的图形将在每个设备上正确使用,而不会“切断”边缘。请记住,iPhone 4S 和 iPhone 5/5S/SE 需要一些背景缩放才能将整个 2 倍图片适合屏幕。否则它看起来会被放大。

如果您采用第一种方法,那么您应该考虑以下信息,以确保您的“通用”图形可以安全地用于所有设备: iPhone 5/5S/SE...和所有更新的都具有 16:9 的显示纵横比。 iPhone 4S 有 3:2 的宽高比(你只需要担心你的游戏是否支持 iOS 9)。 iPad 屏幕纵横比为 4:3。

考虑到上述情况,您可以走两条路: 1. 在 iPad 和 iPhone 4S 上使用 16:9 的通用资产,它们的左右部分会被切断。 2. 使用 4:3 通用资产,在 iPhone 上将其上/下部分切断。

以上内容适用于您的 2x 资产,因为这些资产将用于视网膜 iPad 和视网膜 iPhone(4S、5/5S、SE、6/6S/7)。

1x 资源仅用于非视网膜 iPad(如果您支持 iOS 9,则为 iPad 2,否则也跳过这些)。

3x 资产将仅用于“Plus”iPhone 机型。所以我建议您仅以 16:9 的比例 (2208x1242) 提供这些。

那么,您如何计算您的“安全”区域。很简单:

案例 1(iPad 也使用 16:9 资产):高度 1536(这是视网膜 iPad 的像素高度,但如果您希望在 iPad Pro 12.9 上达到完美像素,那么您应该将其增加到2048),宽度 = 1536 * 16 / 9 = 2732 像素宽(iPad Pro 支持为 3640 像素)。请注意,您必须在运行时按比例缩小以适应 iPhone。为了避免切断背景中的重要内容,不要在 2732x1536 通用图像的中间 2048 像素(左右 342 像素“危险”区域)的左侧或右侧放置任何东西。如果您使用 3640x2048 图像(支持 iPad) Pro 12.9"),然后只使用中间的 2732 像素,只在 454 像素宽的左右边界中留下不重要的东西。

案例 1b(与上述相同,但图像更小):另一种方法是使用原生 (iPhone 6/6S/7) 1334/750 像素图像,但随后您必须针对 iPad 进行放大,并且iPhone 4S/5/5S/SE 按比例缩小。在这种情况下,您的“安全”区域为 1000x750(在 4:3 iPad 和 16:9 iPhone 上均可见)。

案例 2(4:3 资源也可用于 iPhone):对于 2x 资源,使用 2048x1536 像素图像。根据您在屏幕上放置精灵的方式,上部和/或下部会丢失。如果它居中,那么您的“安全”区域是 2048 / 16 * 9 = 1152,这导致 2048x1152 位于 2048x1536 资产的中间。

如果您需要任何进一步的说明,我很乐意详细说明。

【讨论】:

以上是关于如果我使用 iPad 尺寸创建应用程序,如何找到 iPhone 尺寸的“安全区域”?的主要内容,如果未能解决你的问题,请参考以下文章

如何在调试期间在 iPad 中保持相同的 iPhone 应用程序尺寸

Xcode4.2怎么设置 view 视图的大小,使它按照ipad的实际尺寸显示?

如何以不同的 iPhone/ipad 尺寸将我的应用程序上传到 App Store

iPad横向尺寸问题

如何支持适用于 iPhone、iPad 和 iPad Mini 的 iOS 应用程序

如何使用自动布局为 UIView 提供两种尺寸(适用于 iPhone 和 iPad)?