Исчезающая строка состояния вверху после закрытия MPMoviePlayerController

Возникла интересная небольшая проблема с моим приложением для iPhone. У меня есть представление с таблицей, и каждая ячейка при нажатии воспроизводит видео в полноэкранном режиме, а затем, когда вы нажимаете "Готово", видео останавливается и возвращается в представление таблицы. Единственная проблема заключается в том, что когда вы нажимаете кнопку «Готово» в течение первых 2 или 3 секунд загрузки видео, когда представление возвращается к представлению таблицы, полоса в верхней части экрана, которая сообщает время, заряд батареи и т. Д., Больше не там, это просто белое пространство. Но если вы нажмете кнопку «Готово» после первых нескольких секунд, а затем вернетесь к просмотру таблицы, все будет абсолютно нормально! Я понятия не имею, почему это происходит, и единственное, что я нашел в Интернете, это то, что это парень с почти такой же проблемой, как и я:

http://www.iphonedevsdk.com/forum/iphone -sdk-development / 53020-missing-status-bar.html

Это побудило меня попробовать использовать:

[UIApplication sharedApplication].statusBarHidden = NO;

Однако это тоже ни к чему не привело.

Код, который выполняется, когда они нажимают на видео:

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];

И код, который выполняется либо когда видео готово, либо когда пользователь нажимает кнопку «Готово», следующий:

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;

Если кто-нибудь может пролить свет на эту ситуацию, я был бы очень благодарен, поскольку это очень расстраивает!

Спасибо,

Мэтт

9
задан Matthew Hallatt 24 August 2011 в 13:28
поделиться