iPad:[UIScreen mainScreen].bounds 返回错误的坐标

Posted

技术标签:

【中文标题】iPad:[UIScreen mainScreen].bounds 返回错误的坐标【英文标题】:iPad: [UIScreen mainScreen].bounds returns wrong co-ordinates 【发布时间】:2011-10-30 12:13:10 【问题描述】:

[UIScreen mainScreen].bounds 即使在 iPad 处于横向模式时也会返回 (0,0,768,1024)。

它应该返回 (0,0,1024,768) 但它却返回 (0,0,768,1024)。

可能出了什么问题?

【问题讨论】:

您何时使用错误值拉取 CGRect?旋转动画之前/期间/之后? This chap 有类似的问题。你能像他一样从表现更好的物体中获得界限吗? @Sold Out Activist:我以横向模式启动应用程序,所以它在旋转之前。所以旋转不参与其中。 请注意,在 ios 8 上,行为发生了变化,bounds 返回的值确实取决于方向。 【参考方案1】:

没有错。不幸的是,这就是它的工作原理。

看到这个问题:Returning incorrect rectangle on landscape application launch

【讨论】:

以上是关于iPad:[UIScreen mainScreen].bounds 返回错误的坐标的主要内容,如果未能解决你的问题,请参考以下文章

横向模式的“UIScreen mainScreen] applicationFrame]”

([[UIScreen mainScreen] scale] == 2.0) & ([[UIScreen mainScreen] bounds].size.height == 568.0) 不

UIScreen.mainScreen().nativeBounds.height 无法使用 Xcode 7/Swift 2,目标 iOS7

为啥 [UIScreen mainScreen].bounds] 没有返回全屏尺寸?

[UIScreen mainScreen].bounds 与 [UIApplcation sharedApplication].keyWindow.bounds?

[UIScreen mainScreen].bounds.size 在 iOS8 中是不是变得依赖于方向?