【问题标题】:Getting Wrong Screen Sizes in iPhone 6/6+在 iPhone 6/6+ 中获取错误的屏幕尺寸
【发布时间】:2015-12-24 13:07:18
【问题描述】:

我在 iPhone 6 和 6+ 中使用错误的屏幕尺寸

[UIScreen mainScreen].nativeBounds

[UIScreen mainScreen].bounds

在这两种情况下,我的屏幕尺寸都错误。

所以,我为 iPhone 6 和 iPhone 6+ 添加了启动屏幕,然后我在 iPhone 6 和 iPhone 6+ 中获得了正确的屏幕尺寸。

但另一个问题是我的应用程序 UI 显示错误。应用程序左右填充的所有屏幕。见下图:

如果我删除了 iPhone 6 和 6+ 的启动屏幕,那么 App UI 会像之前显示的那样正确显示,如下图所示:

在上图中,没有右填充。

我也通过添加启动屏幕进行检查,但屏幕尺寸也有误。

注意: 我在应用中使用了 AutoResize,它在整个应用中运行良好。

我也做了很多谷歌搜索以找出实际问题,但不幸的是无法得到它。提前非常感谢如果有人帮助解决这个问题。

【问题讨论】:

  • 你在使用自动布局吗?或自动调整大小?还是通过代码控制?
  • 我使用了自动调整大小。见问题
  • This 回答可能有助于理解问题。
  • 太棒了!如果您使用自动布局,这很简单。但修复了不完全适用的自动调整大小。有时你必须通过代码来处理它,比如你应该只为 iphone 6 或 6+ 修复原点
  • @S.Karthik 谢谢。如果我将其从自动调整大小更改为自动布局,则需要很多天。因为我的应用程序几乎有 50 多个屏幕。所以我不想把它改成自动布局。

标签: ios objective-c iphone uiscreen


【解决方案1】:

抱歉,您是否检查了设置 -> 显示和亮度 -> 视图(标准)?

【讨论】:

  • 请给我正确的路径。哪个设置 Xcode 或 iOS 模拟器。在 Xcode 或 iOS 模拟器中我都找不到它。
  • 此选项在 iPhone 中(设备正常)
【解决方案2】:

识别屏幕类型的一种可能的补丁是获取屏幕的比​​例。您可以使用以下代码:[UIScreen mainScreen].scale;

这不会让您知道确切的屏幕尺寸,但可以让您知道缩放比例。当您不需要为不同的屏幕单独编码并且主要不想将整个代码转换为自动布局时,此方法可能会有所帮助。

要了解不同屏幕的缩放系数,请参考以下链接:http://www.paintcodeapp.com/news/iphone-6-screens-demystified

【讨论】:

  • 谢谢,但没有醒。在 iPhone 6+ 中,它给出 3.0 是正确的,但对于 iPhone 6 和 iPhone 5s,它给出了 2.0。所以无法识别设备是 iPhone 6 还是 iPhone 5s。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多