Возникла небольшая интересная проблема с моим приложением для iPhone. У меня есть представление с таблицей, и каждая ячейка при нажатии воспроизводит видео в полноэкранном режиме, затем, когда вы нажимаете «Готово», видео останавливается и возвращается к представлению таблицы. Единственная проблема заключается в том, что при нажатии кнопки «Готово» в течение первых 2 или 3 секунд после загрузки видео, когда представление возвращается к представлению таблицы, полоса в верхней части экрана, показывающая время, уровень заряда аккумулятора и т. Д., Больше не отображается. там просто пустое пространство. Но если вы нажмете «Готово» через первые несколько секунд, то когда вы вернетесь к представлению таблицы, все будет в порядке! Я понятия не имею, почему это происходит, и единственное, что я обнаружил в Интернете, это то, что у какого-то парня почти такая же проблема, как у меня:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53020-disappearing-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;
Если кто-нибудь сможет пролить свет на эту ситуацию, я был бы очень признателен, так как это крайне разочаровывает!
Спасибо
Мэтт