後,我在我的UIView創建MPMoviePlayerViewController破壞幀像這樣(沒有在我的UIViewController!):MPMoviePlayerViewController隱藏狀態欄,看
self.playButton = [[UIButton alloc] initWithFrame:CGRectMake(100, 70, 125, 100)];
[self.playButton setBackgroundImage:[UIImage imageNamed:@"video_play.png"] forState:UIControlStateNormal];
[self.playButton addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchUpInside];
self.playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
self.playerViewController.moviePlayer.fullscreen = NO;
self.playerViewController.view.frame = CGRectMake(0, 0, 320, 200);
[self.playerViewController.moviePlayer prepareToPlay];
self.playerViewController.moviePlayer.shouldAutoplay = NO;
self.playerViewController.view.backgroundColor = [UIColor yellowColor];
[self addSubview:self.playerViewController.view];
[self.playerViewController.view addSubview:self.playButton];
}
- (void)buttonPressed:(id)sender{
(NSLog(@"Click"));
[self.playerViewController.moviePlayer setFullscreen:YES animated:YES];
[self.playerViewController.moviePlayer play];
}
正如你可以看到我添加了一個按鈕上videoView,東陽這部分應該只是一個預覽,當用戶點擊按鈕時,MPMoviePlayerViewController應該動畫到全屏並開始播放,當視頻結束時,它應該返回到預覽視圖。一切正常,到目前爲止,但我有兩個問題:
第一個問題: 每次我打開查看我的狀態欄被隱藏,它看起來像這樣:
所以我把我的viewWillAppear中和我的UIViewController viewDidAppear:
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
這工作,但現在的狀態欄獲取隱藏並立即再次出現,這看起來醜陋,有什麼機會解決這個問題?
問題二:
當我在自定義按鈕單擊視頻被全屏和一切工作正確的!但是當我按下視頻的完成按鈕時,一切都會回到預覽屏幕,它看起來像這樣:StatusBar被隱藏,導航欄也被打破,視頻上方有很多黑色空間,這裏有什麼問題?
我喜歡那種解決方案。他們完成這項工作,從用戶的角度看起來很棒。代碼不重要,如果它看起來不好。 –