【问题标题】:Screen size of iPhone 5iPhone 5的屏幕尺寸
【发布时间】:2026-01-31 03:00:01
【问题描述】:

我正在开发适用于 iphone4 和 iPhone 5 的应用程序。我正在使用以下代码来获取屏幕尺寸

  CGRect screenBounds = [[UIScreen mainScreen] bounds];

我使用的是 iPhone 5 模拟器,但它显示的是 iPhone 4 的屏幕尺寸。

【问题讨论】:

  • 你确定吗,我刚刚检查过它并没有显示相同的大小。 4" 视网膜:(CGRect) screenBounds = origin=(x=0, y=0) size=(width=320, height=568) 3,5" 视网膜(CGRect) screenBounds = origin=(x=0, y=0) size=(width=320, height=480)
  • @rckoenes:: 我已经发布了图片
  • 看大力水手的回答,你错过了Default-568h@2x.png。阅读 Apple 文档,它会告诉您需要 Default-568h@2x.png 才能在 4" 设备上以全屏模式运行。
  • @rckoenes:: 好的,我会试试的
  • 是的,就像大力水手的回答所说,您将需要Default-568h@2x.png 启动图像。另请阅读Apple documentation

标签: iphone objective-c ios


【解决方案1】:

在模拟器上确保您已设置为 iPhone(Retina 4 英寸)。 您可以通过顶部的模拟器菜单转到硬件>>设备>>iPhone(Retina 4-inch)来执行此操作,这会将手机模拟器更改为 iPhone 5 版本。

如果已设置,那么您可能需要为 iPhone 5 添加启动图像。Default-568h@2x.png 如果缺少此图像,它将无法在 iPhone(Retina 4 英寸)中启动。

我还回答了另一个问题here 可能会有所帮助。

【讨论】:

  • :: 我发布了输出图像,你可以检查一下
  • @downvoter 为什么不赞成这是一个正确的答案。
【解决方案2】:

运行模拟器时,转到Hardware -> Device 并确保选择了iPhone (Retina 4-inch)

【讨论】:

  • ya iphone Retina 4 inch is selected
【解决方案3】:

其实

[[UIScreen mainScreen] bounds].size.height 

对于 iPhone 5 返回 568。确保您在模拟器中选择了“iPhone 4 - (4 inch)”作为设备(它从 Xcode 4.5 开始就存在)。如果您使用 Xcode 助手创建项目,您的项目中还应该有一个 Default-568h@2x.png 文件。

【讨论】:

    最近更新 更多