【问题标题】:iPhone4S-iOS7: Get wrong screen width/height [duplicate]iPhone4S-iOS7:屏幕宽度/高度错误[重复]
【发布时间】:2016-06-21 21:10:36
【问题描述】:

当设备处于横向时,我使用下面的代码来获取屏幕宽度和高度。

float widthScreen = [UIScreen mainScreen].bounds.size.width;
float heightScreen = [UIScreen mainScreen].bounds.size.height;

但问题在于 iPhone 4S (iOS7) 的宽度

在 iPhone 6 (iOS9) 中:widthScreen 667 heightScreen 375

在 iPhone 4S (iOS7) 中:widthScreen 320 heightScreen 480

它发生在所有 iOS7 设备上还是仅 iPhone4S 上。
我该怎么做才能解决。任何帮助将不胜感激

【问题讨论】:

  • 您是否为 iphone 6 和 6s 提供过 BrandAsset ?
  • 什么时候初始化这些变量?用什么方法?
  • 当没有提供启动屏幕时,屏幕布局会缩小。他将丢失 4.7 和 5.5 英寸的品牌资产
  • 只有在屏幕比原来的 iPhone 更大的手机上,即 iPhone 5 及更新版本的手机上,屏幕尺寸才会缩小。 iPhone 4S 的屏幕尺寸与初代 iPhone 相同:对角线为 3.5 英寸,320x480 点。
  • 投诉是运行 iOS 7 的 iPhone 4S 上报告的屏幕尺寸与运行 iOS 9 的 iPhone 6 上报告的屏幕尺寸不同。在这两种情况下,报告的尺寸与实际屏幕尺寸(以磅为单位)匹配,但方向不同。由于启动资产,它们并没有什么不同。它们不同,因为 Apple 在 iOS 7 和 iOS 8 之间更改了 [UIScreen mainScreen].bounds 返回的内容。请参阅已回答问题的链接。

标签: ios iphone ios7


【解决方案1】:

[UIDevice currentDevice].orientation 怎么样?

我更喜欢在每个视图中逐帧检查横向,而不是 [UIDevice currentDevice]。因为split-view中的风景,width可以是height

http://www.cnet.com/how-to/get-to-know-the-ipads-new-split-view-feature-in-ios-9/

- (BOOL)isLandScape {
    return (self.frame.size.width > self.frame.size.height);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 2012-11-01
    • 1970-01-01
    • 2011-09-09
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    相关资源
    最近更新 更多