Sto sviluppando un'applicazione utilizzando iOS 5.1 e sto riscontrando un comportamento strano con i file default.png.iOS 5.1 e Default.png
ho aggiunto i seguenti file alla mia domanda:
Default.png - (iPhone)
[email protected] - (iPhone Retina)
Default-Portrait ~ ipad .png - (iPad)
[email protected]~ipad.png - (iPad Retina)
All'avvio dell'applicazione sembra che selezioni l'immagine Default.png corretta da utilizzare per ogni occasione. Tuttavia nel mio AppDelegate Ho una semplice schermata di avvio per rendere più agevole il caricamento dell'applicazione e la transizione verso l'applicazione, facendo qualcosa di simile:
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];
Tuttavia il [UIImage imageNamed:@"Default"]
a sua volta non selezionare il file corretto per ogni dispositivo e credo che il problema sia la parte -Portrait
del nome file.
Così come una soluzione rapida che ho fatto questo:
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:@"[email protected]~ipad"];
}
else {
splashView.image = [UIImage imageNamed:@"Default-Portrait~ipad"];
}
}
else
splashView.image = [UIImage imageNamed:@"Default"];
È questo come dovrei fare questo? Ti sembra divertente?
Ti sembra divertente? è divertente – Krishnabhadra
Prova qualche NSLogging per vedere cosa sta succedendo esattamente. –
@rokjarc Come si può NSLog quale file viene selezionato dall'SDK quando si esegue un semplice '[UIImage imageNamed: @" Default "]'? – mobius