【问题标题】:Unable to detect iPhone Retina 4-inch screen size in simulator无法在模拟器中检测到 iPhone Retina 4 英寸屏幕尺寸
【发布时间】:2013-01-22 20:31:09
【问题描述】:

我想让我的 iOS 应用程序支持 iPhone 5。所以我为 iPhone 5 大小创建了一个单独的 xib 集。然后我通过检查屏幕高度来加载每个 xib。

这是 AppDelegate.m 中的初始屏幕加载代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:    (NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
    // Override point for customization after application launch.
    UIViewController *viewController1;
    if ([UIScreen mainScreen].bounds.size.height==480) {
        viewController1 = [[SplashScreen alloc] initWithNibName:@"SplashScreen" bundle:nil];
    }


    if ([UIScreen mainScreen].bounds.size.height==568) {
        viewController1 = [[SplashScreen alloc] initWithNibName:@"SplashScreen5" bundle:nil];
    }

    self.window.rootViewController = viewController1;
    [self.window makeKeyAndVisible];
    return YES;
}

但是当我将模拟器更改为 Retina 4 英寸时,我的代码无法获得模拟器大小。它总是执行 480 if 条件。

但我这样创建的其他应用程序运行正常。
这是什么原因?

【问题讨论】:

    标签: objective-c ios6 uiscreen


    【解决方案1】:

    我现在也遇到了同样的问题(当然是在最糟糕的时刻......)。 它确实正常工作了几个星期,但出于未知原因,模拟器突然将 4 英寸模拟设备视为 3.5 英寸屏幕。 清理、重置、重启:同样的情况……

    编辑:好的,问题解决了。这是因为缺少 -568@2x 格式的默认图像。我知道这是使系统正常工作的一个条件,但 xcode 显然决定摆脱我选择的那个。哦,好吧……

    【讨论】:

      猜你喜欢
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多