Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS 6 - Distinguishing between iPhone 5 and other devices?

With the announcement of the iPhone 5 and new iPods today, I'm starting work on optimizing my app to take advantage of the new, extra screen space. I've already got to the point where my app isn't "letterboxed" anymore. I know it's early, but does anyone know how I could distinguish between the new, taller devices and the old ones?

Ideally, it would be something like this:

if (device is iPhone 5 or taller iPod touch) {
    do stuff that is ideal for the taller screen
} else {
   do what I've been doing before for the smaller screen
}

Thanks! I hope everyone else is also enjoying what Apple announced today as well!

like image 391
mhbdr Avatar asked Sep 13 '12 02:09

mhbdr


2 Answers

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;
    if(result.height == 480)
    {
        // iPhone Classic
    }
    if(result.height == 568)
    {
        // iPhone 5
    }
}

see this link for different type of checking

like image 81
Hashim MH Avatar answered Sep 21 '22 19:09

Hashim MH


- (BOOL)isTall
{
    CGRect bounds = [[UIScreen mainScreen] bounds];
    CGFloat height = bounds.size.height;
    CGFloat scale = [[UIScreen mainScreen] scale];

    return (([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) && ((height * scale) >= 1136));
}
like image 34
Marco Avatar answered Sep 20 '22 19:09

Marco