私は知っています、何十もの同様の質問があります。私はそれらすべてを読みましたが、まだ答えを見つけることができませんでした. presentModalViewController
メソッドを介してビデオでビューを表示します。ユーザーがスワイプすると、同じプレーヤーで次のビデオが開始されます。しかしcontentURL
、ビデオプレーヤーを変更しようとすると、ビューが消えます-dismissModalViewControllerAnimated
メソッドが呼び出された場合のように(そうではありませんでした)。
@implementation ViewController
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if(!moviePlayerViewController)
{
NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8"];
moviePlayerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
UISwipeGestureRecognizer *leftSwipeRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipe:)];
leftSwipeRecognizer.direction = UISwipeGestureRecognizerDirectionLeft;
[moviePlayerViewController.view addGestureRecognizer:leftSwipeRecognizer];
[self presentModalViewController:moviePlayerViewController animated:YES];
}
}
-(void)leftSwipe:(id)sender
{
moviePlayerViewController.moviePlayer.contentURL =
moviePlayerViewController.moviePlayer.contentURL; // no matter what exactly URL here.
[moviePlayerViewController.moviePlayer play]; // view disappears even before this line is reached
}
@end