Unable to detect iPhone Retina 4-inch screen size in simulator

流过昼夜 提交于 2019-12-24 08:24:18

问题


I want to make my iOS application support iPhone 5. So I created a separate xib set for iPhone 5 size. Then I load each xib by checking the screen height.

This is the splash screen loading code inside the 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;
}

But when I change the simulator into Retina 4-inch, my code doesn't get the emulator size. It always executes the 480 if condition.

But other apps I created like this are working properly.
What is the reason for this?


回答1:


I'm having the exact same problem right now (at the worst moment, of course....). It did work properly for several weeks, and for a unknown reason, the simulator suddenly considers the 4in simulated device as a 3.5in screen. cleaning, reset, reboot : same situation...

EDIT : ok, problem solved. T'was because of a missing Default image in the -568@2x format. I knew that was a condition to make the system work, but xcode had apparently decided to get rid off the one I chose. oh well...



来源:https://stackoverflow.com/questions/14749463/unable-to-detect-iphone-retina-4-inch-screen-size-in-simulator

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!