ios - 如果我使用 iPad 尺寸创建我的应用程序,如何找到 iPhone 尺寸的 'safe region'?

标签 ios iphone ipad sprite-kit

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

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

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

最佳答案

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

  • 如果您只选择“通用”,那么您必须确保您插入的资源在 iPhone 和 iPad 上看起来都不错。如果是这种情况,请参阅下面有关如何使您的 Assets 安全以供普遍使用的一些提示。
  • 如果您选择“iPad”和“iPhone”,则必须为 iPad 和 iPhone 包含单独的 Assets ,并具有适当的分辨率和纵横比。在我过去的经验中,我总是走这条路。对于 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. 使用 16:9 通用 Assets ,在 iPad 和 iPhone 4S 上将其左/右部分切断。
    2. 使用 4:3 通用 Assets ,将在 iPhone 上切断其上/下部分。

    以上适用于您的 2x Assets ,因为它们将同时用于 Retina iPad 和 Retina iPhone(4S、5/5S、SE、6/6S/7)。

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

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

    那么,你如何计算你的“安全”区域。非常简单:

    案例 1(16:9 Assets 也可用于 iPad):高度 1536(这是以像素为单位的 Retina 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 Assets 也可用于 iPhone):对于 2x Assets ,使用 2048x1536 像素图像。根据您在屏幕上放置 Sprite 的方式,上部和/或下部会丢失。如果它居中,那么您的“安全”区域是 2048/16 * 9 = 1152,这导致 2048x1536 Assets 中间的 2048x1152。

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

    关于ios - 如果我使用 iPad 尺寸创建我的应用程序,如何找到 iPhone 尺寸的 'safe region'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529228/

    相关文章:

    ios - Sprite 套件与子 Sprite 的碰撞检测

    ios - 如何正确重置 UITableView 的底层数据?

    ios - 核心数据多上下文同步

    iOS 应用程序开发- NSMutableURLRequest 为零

    iphone - 从 iPhone 应用程序在同一选项卡中打开 safari

    iOS 拆分键盘搞乱了 cordova webview

    ios - Swift3 iOS -Firebase FIREmailPasswordAuthProvider 不工作

    iphone - 将 zip 文件从 iOS 应用流式传输到 Web 浏览器

    iphone - 如何在iphone中播放MID文件?

    iphone - 旋转时如何将按钮锚定到 View 底部?