Возникла интересная небольшая проблема с моим приложением для 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;
Если кто-нибудь может пролить свет на эту ситуацию, я был бы очень благодарен, поскольку это очень расстраивает!
Спасибо,
Мэтт