【问题标题】:[UIScreen mainScreen].bounds is changing its size at startup on iPhone 6 [duplicate][UIScreen mainScreen].bounds is changing its size at startup on iPhone 6 [duplicate]
【发布时间】:2017-09-01 15:10:52
【问题描述】:

我把断点放在

int main(int argc, char *argv[]) {
  int retVal = UIApplicationMain(argc, argv, nil, nil);

我把断点放在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

我检查了两次bounds 并得到了不同的大小。

(lldb) po [UIScreen mainScreen].bounds
(origin = (x = 0, y = 0), size = (width = 375, height = 667))

(lldb) po [UIScreen mainScreen].bounds
(origin = (x = 0, y = 0), size = (width = 568, height = 320))

什么可以改变它?是不是和 iPhone 5 有某种对比模式?

此外,所有图形在 iPhone 6 上看起来都像在非视网膜屏幕上一样像素化。但是 iPhone 5 看起来很不错。

它是 GL 应用程序,它可以加载高分辨率图像。

在故障模式下切换应用程序。

任何想法可能会在该模式下强制 iPhone 6 上的该模式?

iPhone 6 和 iPhone 5 都运行相同的 iOS 10.2.1

【问题讨论】:

  • 张贴截图..
  • 您是否偶然删除了 LaunchScreen.storyboard?这将影响应用程序在较新的 iOS 上占用的屏幕大小。尝试创建一个简单的单窗口项目,从 Info.plist 中删除 LaunchScreen 引用,看看问题是否重复。

标签: ios xcode


【解决方案1】:

您最有可能在 IB 或情节提要中设计了视图。第一个边界表示情节提要中视图的边界。相对于方向达到 viewDidAppear 后,真实设备上的第二个。

【讨论】:

    猜你喜欢
    • 2012-09-26
    • 2012-09-06
    • 2021-06-20
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2014-11-21
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多