2017-01-31 3 views
1

これは私のコードで、私はどのように私たちのビューからAVPlayerViewControllerを削除します。
私たちのビューからAVPlayerViewControllerを削除するには?

[self.avPlayerViewController.player pause]; 

self.avPlayerViewController.view.hidden = YES; 

私は非表示にするコードの上に使用していますが、それはいくつかの時間を働いていない....

-(void)playTrailer { 
[self.avPlayerViewController.player pause]; 
NSString *videoFilePath = [[NSBundle mainBundle]pathForResource:self.trailerString ofType:@"mp4" ]; 
self.avPlayer = [[AVPlayer alloc]initWithURL:[NSURL fileURLWithPath:videoFilePath]]; 
self.avPlayerViewController = [[AVPlayerViewController alloc]init]; 
self.avPlayerViewController.view.frame = CGRectMake(50,50,200,300); 
self.avPlayerViewController.player = self.avPlayer; 
[self.view addSubview:self.avPlayerViewController.view]; 
[self.avPlayerViewController.player play]; 
} 


- (IBAction)playTrailerButton:(UIButton *)sender { 
self.trailerString = @"myTrailerName"; 
[self playTrailer]; 
} 

答えて

2

理由を、あなたのコード内で、あなたはself.viewをMAINVIEWするself.avPlayerViewController.viewを追加しています。

あなたは、あなたがプレーヤーを再表示したい場合は、その後にプレーヤーを非表示にする

-(void)playTrailer { 
[self.avPlayerViewController.player pause]; 
self.avPlayerViewController.view.hidden = NO; 

} 

を使用

[self.avPlayerViewController.view removeFromSuperview]; 

選択肢2

を使い削除したい場合メインビューを使用して

self.avPlayerViewController.view.hidden = YES; 

更新答え

-(IBAction)segmentControl:(UISegmentedControl *)sender 
{ 
[self.avPlayerViewController.view removeFromSuperview]; 
if (self.segmentControl.selectedSegmentIndex == 0) 
{ 
[self.avPlayerViewController.player pause]; 
// [self.avPlayerViewController.view setHidden:YES]; 

[self playTrailer]; 
self.animationScrollView.hidden = NO; 
} 
else if (self.segmentControl.selectedSegmentIndex == 1) 
{ 
self.animationScrollView.hidden = YES; 
} 
} 
+0

お返事ありがとう....私が3つのセグメントを持つセグメント化されたコントローラを使用しています... –

+0

を働いていない、我々はそれで別のセグメントを行けば私がしたいですこのプレーヤーを隠すか、または削除するにはどうすればいいですか? –

+0

すでにこのコードを使用していますが、動作していますが、何回か動作していません。[self.avPlayerViewController.player pause]; self.avPlayerViewController.view.hidden = YES; –

関連する問題