Avere un piccolo problema interessante con la mia app per iPhone. Ho una vista con una tabella e ogni cella, quando si fa clic, riproduce un video a schermo intero, quindi quando si preme fatto, il video si ferma e torna alla visualizzazione tabella. L'unico problema è che quando si preme fatto entro i primi 2 o 3 secondi del caricamento del video, quando la vista torna alla visualizzazione tabella, la barra nella parte superiore dello schermo che indica l'ora e la potenza della batteria ecc. Non è più lì, è solo uno spazio bianco. Ma se premi premuto dopo i primi secondi, poi quando torni alla visualizzazione tabella, tutto va assolutamente bene! Non ho assolutamente idea del perché questo sta accadendo e l'unica cosa che ho trovato su Internet è questo che è un ragazzo con più o meno esattamente lo stesso problema come me:Scomparsa barra di stato nella parte superiore dopo che MPMoviePlayerController è chiuso
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53020-disappearing-status-bar.html
Questo mi ha portato a provare a utilizzare:
[UIApplication sharedApplication].statusBarHidden = NO;
Tuttavia questo non porta neanche da nessuna parte.
Il codice che viene eseguito quando si fa clic su un video:
NSString *path = [[NSBundle mainBundle] pathForResource:currentTitle ofType:@"m4v"];
NSURL *url = [NSURL fileURLWithPath:path];
movieController = [[MPMoviePlayerController alloc] initWithContentURL:url];
[movieController setControlStyle:MPMovieControlStyleFullscreen];
[movieController setFullscreen:YES];
movieController.view.frame = self.view.bounds;
[self.view addSubview:movieController.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
E il codice che viene eseguito sia quando il video è fatto o quando l'utente fa clic fatto è:
NSLog(@"movieController moviePlayBackDidFinish");
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[movieController setFullscreen:NO animated:NO];
[movieController.view removeFromSuperview];
[movieController release];
LiveEventsView *liveEventsView = [[LiveEventsView alloc] initWithNibName:@"LiveEventsView" bundle:nil];
UIView *currentView = self.view;
UIView *theWindow = [currentView superview];
UIView *newView = liveEventsView.view;
newView.frame = CGRectMake(0, 20, 320, 460);
[currentView removeFromSuperview];
[theWindow addSubview:newView];
[UIApplication sharedApplication].statusBarHidden = NO;
Se chiunque può far luce su questa situazione, sarei molto grato perché estremamente frustrante!
Grazie,
Matt
Grazie, funziona, ma il tempo più breve che sembra ritardare con successo è di 1 secondo, un po 'troppo lungo. Se è l'unico modo in cui posso sistemarlo, allora lo farà, ma preferibilmente apparirà non appena la vista verrà caricata, piuttosto che 1 secondo dopo –