1
これは重複した質問かもしれませんが、すでに存在している質問には解決策がないので、私は再び賞金の問題を開始するように再度求めています。ここでカスタムボタンはAVPlayer iOS 11では動作しませんが、iOS 11の下では完全に機能していますか?
はiOSの11の下に働いている私のコードです:
AVPlayer *player = [AVPlayer playerWithURL:videoURL];
// create a player view controller
avcontroller = [[AVPlayerViewController alloc]init];
avcontroller.player = player;
[player play];
NSNotificationCenter *noteCenter = [NSNotificationCenter defaultCenter];
[noteCenter addObserverForName:AVPlayerItemDidPlayToEndTimeNotification
object:nil
queue:nil
usingBlock:^(NSNotification *note) {
NSLog(@"Video end");
self.avcontroller.player = nil;
[self.avcontroller.view removeFromSuperview];
[self.view addSubview:delegate.tabViewControllerObj.tabBarController.view];
}];
_skip =[UIButton buttonWithType:UIButtonTypeCustom];
[_skip addTarget:self action:@selector(btnSkipTapped)
forControlEvents:UIControlEventTouchUpInside];
[_skip setTitle:@"Skip" forState:UIControlStateNormal];
_skip.layer.borderWidth = 2.0f;
_skip.layer.cornerRadius = 12;
_skip.clipsToBounds = YES;
_skip.layer.borderColor = [UIColor whiteColor].CGColor;
// show the view controller
[self addChildViewController:avcontroller];
[avcontroller.view addSubview:_skip];
[avcontroller.view bringSubviewToFront:_skip];
[self.view addSubview:avcontroller.view];
avcontroller.view.frame = self.view.frame;
}
-(void)viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
_skip.frame = CGRectMake((self.view.frame.size.width-140),(self.view.frame.size.height-150),100.0,35.0);
}
そしてここでは、ボタンタップ機能である:
- (IBAction)btnSkipTapped{
NSLog(@"Skip button clicked");
self.avcontroller.player = nil;
[self.avcontroller.view removeFromSuperview];
[self.view addSubview:delegate.tabViewControllerObj.tabBarController.view];
}
このコードは、ボタンをタップすると完全にはなく、ボタンが表示されます、それはなかったのbtnSkipTapped関数を呼び出します。 ご協力いただければ幸いです!
ありがとうございました。それは完璧に働いた。 –
私は同じ問題に直面します。私の場合、私はAVPlayerViewControllerを提示し、カスタムボタンを追加します.AボタンはAVPlayerViewControllerに表示されますが、ボタンアクションをトリガーすることはできません。上記のことを試みましたが、うまくいきませんでした。 UIButton self.playerViewController.viewとして.addSubview(BTN) self.playerViewController.view .bringSubview(toFront:self.castWrapperView):唯一のiOS 11. のlet BTN = UIButton(.customタイプ)で発生した? 自己.present(self.playerViewController、animated:false、completion:nil) @Niravこの問題に関する考え方はありますか? – PramukaD
が 'self.view'または' self.playerViewController.view'に追加されましたか? –