【问题标题】:"UIScreen mainScreen] applicationFrame]" for Landscape mode横向模式的“UIScreen mainScreen] applicationFrame]”
【发布时间】:2011-08-03 17:04:44
【问题描述】:

我不得不问。使用

[[UIScreen mainScreen] applicationFrame]

是在纵向模式下获取 iphone 或 ipad 的工作区域的好方法。但是,如果我想在横向上获得相同的大小,还有其他代码,或者我必须创建:

CGRect landscape = CGRectMake(0, 20, 1024, 748)

这对于 iPhone 和 iPad 来说甚至都不是通用的。

【问题讨论】:

  • 我想知道是否可以安全地假定 applicationFrame 选择器将始终以纵向模式返回该区域。 (并且只需手动切换值。)
  • 您成功解决了这个问题吗?转置宽度和高度值是不可取的。

标签: iphone objective-c ipad landscape landscape-portrait


【解决方案1】:

您可以使用[[[UIApplication sharedApplication] keyWindow] frame]

【讨论】:

  • 当我在视图控制器的 loadView 选择器中调用它时,我得到一个 CGRect,其原点和大小都设置为 (0, 0)。
  • 我不太确定,但它对我有用:loadView] [Line: 788] [[[UIApplication sharedApplication] keyWindow] frame]: {{0, 0}, {768, 1024}}。你可以先打电话给[super loadView] 吗?如果这不起作用,那么我建议尝试使用另一种方法。 sizeToFit 或许?
猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 2013-11-17
  • 2012-09-06
  • 1970-01-01
相关资源
最近更新 更多