Mając interesujący problem z moją aplikacją na iPhone'a. Mam widok z tabelą, a po kliknięciu każda komórka odtwarza wideo w trybie pełnoekranowym, a po naciśnięciu do końca film zatrzymuje się i wraca do widoku tabeli. Jedynym problemem jest to, że po naciśnięciu przycisku w ciągu pierwszych 2 lub 3 sekund ładowania wideo, gdy widok wraca do widoku tabeli, pasek na górze ekranu informujący o czasie i sile baterii itp. Nie jest już wyświetlany. tam, to tylko biała przestrzeń. Ale jeśli naciśniesz przycisk "zrobić" po pierwszych kilku sekundach, to po powrocie do widoku tabeli wszystko jest w porządku! Absolutnie nie mam pojęcia, dlaczego tak się dzieje, a jedyną rzeczą, znalazłem w internecie jest to co jest jakiś facet z prawie dokładnie taki sam problem jak ja:Znikający pasek stanu u góry po zamknięciu MPMoviePlayerController
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53020-disappearing-status-bar.html
to doprowadzić mnie do spróbuj:
[UIApplication sharedApplication].statusBarHidden = NO;
Jednak ten nigdzie nie prowadzi.
Kod, który jest wykonywany po kliknięciu na 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];
a kod, który wykonuje albo gdy film jest wykonywana lub gdy użytkownik kliknie zrobiły to:
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;
Jeśli każdy może rzucić światło na tę sytuację, byłbym bardzo wdzięczny, ponieważ jest bardzo frustrujący!
Dzięki,
Matt
Dzięki, to działa, ale najkrótszy czas, w którym wydaje się, że z powodzeniem opóźnia się, to 1 sekunda, która jest nieco za długa. Jeśli jest to jedyny sposób, w jaki mogę to naprawić, to zrobi, ale najlepiej, by pojawił się zaraz po załadowaniu widoku, a nie po 1 sekundzie –