【问题标题】:On iPhone5 [[UISCreen mainScreen] bounds].size comes back as 320x480?在 iPhone5 [[UISCreen mainScreen] bounds].size 返回为 320x480?
【发布时间】:2012-09-26 23:49:32
【问题描述】:

在 iPhone5 [[UISCreen mainScreen] bounds].size 返回为 320x480。为什么。在我正在阅读的所有帖子中,人们都说它返回了正确的屏幕尺寸。这里发生了什么?我是否遗漏了 .plist 文件中的某些内容或其他内容?

顺便说一句,我正在手动编写 GUI,所以没有 XIB。

【问题讨论】:

  • stackoverflow.com/questions/12395200/… 的副本(以及许多其他...)
  • 有点smarmy,不被欣赏。你能指出我的问题的具体答案吗?因为我阅读了那些“很多很多其他人”中的每一篇,但没有人回答我提出的问题。并不是说我没有忽略什么,但也许你应该在得出这个结论之前再读一遍我的问题。
  • 您对重复问题的声明绝对不正确。您发布的链接的答案仅使用 mainScreen 边界列出。
  • 如果您将 Default-568h@2x.png 启动图像添加到项目中(如 stackoverflow.com/questions/12395200/… 中所述)并在 iPhone 5 上运行,则 [[UIScreen mainScreen] bounds].size 返回 (width=320, height=568)。跨度>
  • 没有别的办法。您可以在 SO 上多次找到相同的答案。

标签: ios6 retina-display screen-size


【解决方案1】:

除非您的应用在其捆绑包中包含 Default-568h.png,否则它将在 iPhone 5 上 480 点高的旧屏幕沙箱内运行,并且无法在该沙箱之外绘制或查看任何尺寸。

请注意,只有在使用 Xcode 4.5 和 iOS 6 SDK(或可能是更高版本)构建应用程序以提交到 Apple 的应用商店时,才允许包含此 Default-568h.png。

添加:使用 iOS 8 SDK(或更高版本)构建并在 iOS 8(或更高版本)下运行应用时,LaunchScreen.xib 也会移除 480 高度沙盒。

【讨论】:

  • 我错过了。谢谢,救了我的培根。
  • 请注意,这个沙盒并不是一个肮脏的把戏,但有助于创建一个应用环境,当用户升级到 iPhone 5 时,旧应用不会崩溃或显示开发人员永远无法做到的疯狂内容在开发时已经对其应用进行了测试。
  • 该死,我在这上面浪费了 2 个小时的时间 :(
【解决方案2】:

看起来有一个启动图像是 [[UIScreen mainScreen] bounds] 在 iPhone5 上正常工作的先决条件。对于我们这些依赖图像设计团队的人来说,这是一个问题。看起来您只需将启动图像组合在一起并将其放置到位。

真的没有更好的办法吗?任何人?

【讨论】:

  • Default-568h.png 是方式,句号。这已在 stackoverflow 和 Apple's own developer forums 上进行了详细讨论。由于苹果只关心应用商店的分发,所有应用商店的应用都必须有启动图片,所以苹果不需要提供另一种方式来启用 568 pt 屏幕。
  • 它确实很烂。首先,没有办法从代码中做到这一点似乎是完全错误的。其次,完全可以不使用启动画面。现在我必须集成一个假的“全黑”闪屏,才能在目标设备中的 9 个设备上工作。嘘。大吵大闹。
猜你喜欢
  • 2021-06-20
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 2013-07-19
  • 2013-07-02
  • 2012-09-06
  • 1970-01-01
相关资源
最近更新 更多