0
カスタムコントロールを追加するAVPlayerViewControllerのサブクラスがあります。 AVPlayerViewControllerの上にカスタムコントロールを追加しました。しかし、これらの制御は短時間の間しか応答しません。数秒後、いずれかのボタンをクリックしてもtouchUpInsideイベントは発生しません。私はaddSubview機能と一緒に以下の2行を追加することで問題を解決しiOS - AVPlayerViewControllerの上にコントロールを追加する
class LSPlayerViewController : AVPlayerViewController {
private var btnPlay : UIButton!
func addControls() {
self.showsPlaybackControls = false
//PLAY BUTTON
let btnPlayRect = CGRect(x: 0, y: 0, width: 19, height: 25)
btnPlay = UIButton(frame: btnPlayRect)
btnPlay.center = self.view.center
btnPlay.setImage(#imageLiteral(resourceName: "PauseIcon"), for: .normal)
btnPlay.addTarget(self, action: #selector(self.playButtonTapped(sender:)), for: .touchUpInside)
btnPlay.alpha = 0
btnPlay.isUserInteractionEnabled = true
self.view.addSubview(btnPlay)
}
func playButtonTapped(sender: UIButton!) {
if sender.isPlayIconOn == true {
sender.setImage(#imageLiteral(resourceName: "PauseIcon"), for: .normal)
self.player?.play()
} else {
sender.setImage(#imageLiteral(resourceName: "PlayIcon"), for: .normal)
self.player?.pause()
}
}
}
ん[この] (https://stackoverflow.com/a/27253734/1971013)、私は10秒で見つけました。 –
投稿前に確認しましたが、これで問題は解決しません。私は正常にコントロールを追加していますが、touchUpInsideイベントは短時間の後には起動しません。 – krypton36