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?