我的 iPhone 应用程序遇到一个有趣的小问题。我有一个带有表格的视图,每个单元格在单击时全屏播放视频,然后当您按完成时,视频停止并返回表格视图。唯一的问题是,当您在视频加载的前 2 或 3 秒内按“完成”时,当视图返回到表格视图时,屏幕顶部的指示时间和电池电量等的栏不再显示在那里,它只是一个空白。但是,如果您在前几秒钟后按“完成”,那么当您返回表视图时,一切都绝对没问题!我完全不知道为什么会发生这种情况,我在互联网上找到的唯一的东西是这个,这是一个与我几乎完全相同的问题的人:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/53020-disappearing-status-bar.html 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;
如果有人能阐明这种情况,我将非常感激,因为这非常令人沮丧!
Thanks,
Matt
也许视频视图消失时的动画导致状态栏动画出现计时问题。
尝试将 statusBarHidden = NO 调用延迟几秒钟。
NSInteger delay = 3;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, delay * NSEC_PER_SEC), dispatch_get_current_queue(), ^{
[UIApplication sharedApplication].statusBarHidden = NO;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)