내 iPhone 앱에 재미있는 작은 문제가 있습니다. 표가있는보기가 있고 각 셀을 클릭하면 비디오 전체 화면이 재생 된 다음 완료를 누르면 비디오가 멈추고 다시 테이블보기로 돌아갑니다. 유일한 문제는 비디오 로딩의 처음 2 ~ 3 초 내에 완료를 누르면 뷰가 테이블보기로 돌아갈 때 시간과 배터리 강도 등을 알려주는 화면 상단의 막대가 더 이상 존재하지 않습니다 거기, 그냥 공백. 그러나 처음 몇 초 후에 완료를 누르면 테이블보기로 돌아 가면 모든 것이 완벽합니다! 나는 이런 일이 왜 전혀 생각이없고 내가 인터넷에서 볼 수있는 유일한 것은 나에게로 거의 정확히 같은 문제와 어떤 남자 인 이것이다 :이 사용하려고 저를 이끌어MPMoviePlayerController가 닫힌 후에 맨 위 상태 표시 줄이 사라집니다.
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;
하는 경우 누구나이 상황에 어떤 빛이라도 흘릴 수 있습니다. 매우 실망 스럽기 때문에 나는 매우 감사 할 것입니다!
감사합니다,
매트 어쩌면
감사합니다.이 방법이 효과적이지만 지연 시간이 가장 짧은 것으로 생각되는 이유는 1 초가 너무 길기 때문입니다. 그 문제를 해결할 수있는 유일한 방법이라면, 그렇게 할 것이지만, 1 초 후에 뷰가로드되는 즉시 표시하는 것이 바람직합니다. –