Swiftで動画再生アプリの作成をしています。
ボタンをクリックしたら、AV Player View controller を呼び出す作りにしたいと思います。
ボタン生成をコードから書けば、addTargetが使え、問題なく動くのですが、ボタンをドラッグ&ドロップで作成した場合のfunc playMovieFromProjectBundle()の呼び出し方がわかりません。ご教示いただけないでしょうか?
ボタンは、ボタンの位置を後で動かしやすくするために、コードではなく、オブジェクトで作成したいです。
よろしくお願いします。
###発生している問題・エラーメッセージ
***Value of type '(UIButton) -> ()' has no member 'addTarget'**
エラーが出ます
###該当のソースコード
@IBAction func button(_ sender: UIButton) {
button.addTarget(self, action: #selector(self.playMovieFromProjectBundle), for: .touchUpInside)
***Value of type '(UIButton) -> ()' has no member 'addTarget'**
エラーが出ます
}
@objc func playMovieFromProjectBundle() {
if let bundlePath = Bundle.main.path(forResource: "test5", ofType: "mp4") {
let videoPlayer = AVPlayer(url: URL(fileURLWithPath: bundlePath)) // 動画プレイヤーの用意 let playerController = AVPlayerViewController() playerController.player = videoPlayer self.present(playerController, animated: true, completion: { videoPlayer.play() }) } else { print("no such file") } }
###試したこと
ボタン生成をコードから書けば、addTargetが使え、問題なく稼働します。
###補足情報(言語/FW/ツール等のバージョンなど)
Swift4 Xcode 9.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。