iOS 5.1 i Default.png

Zajmuję się tworzeniem aplikacji za pomocą iOS 5.1 i doświadczam dziwnych zachowań z plikami default.png.

Dodałem następujące pliki do mojej aplikacji:

Default.png - (iPhone)

[email protected] - (iPhone Retina)

Default-Portrait ~ ipad.png - (iPad)

Default-Portrait@2x~ipad.png - (iPad Retina)

Po uruchomieniu aplikacji wydaje się, że wybiera poprawny obraz Default.png, który ma być używany przy każdej okazji. Jednak w moim AppDelegate mam prosty ekran powitalny, aby ułatwić ładowanie aplikacji i przejście do aplikacji, robiąc coś takiego:

<code>UIImageView *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,window.frame.size.width, window.frame.size.height)]; 
splashView.image = [UIImage imageNamed:@"Default"]; 

[window addSubview:splashView]; 
[window bringSubviewToFront:splashView]; 
</code>

Jednakże[UIImage imageNamed:@"Default"] z kolei nie wybiera poprawnego pliku dla każdego urządzenia i uważam, że problemem jest-Portrait część nazwy pliku.

Więc jako szybkie rozwiązanie zrobiłem to:

<code>if( ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) ) {
    // Force the image used by ipads
    if( [[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0) {
       splashView.image = [UIImage imageNamed:@"Default-Portrait@2x~ipad"];
    }
    else {
        splashView.image = [UIImage imageNamed:@"Default-Portrait~ipad"];
    }
}
else
   splashView.image = [UIImage imageNamed:@"Default"];
</code>

Czy tak powinienem to robić? Czy to dla ciebie zabawne?

questionAnswers(3)

yourAnswerToTheQuestion