[AVPlayerLayer superview]:无法识别的选择器发送到 Swift 中的实例
[AVPlayerLayer superview]: unrecognized selector sent to instance in Swift
在我的故事板中,我在 UIViewController 中放置了一个视图。
我在那里添加了必要的参数:
并将其与我的代码连接:
在我的代码中:
import AVKit
import AVFoundation
@IBOutlet weak var yawpVideo: AVPlayerLayer!
override func viewDidLoad() {
let url:NSURL = NSURL(string: videoURL)!
player = AVPlayer(URL: url)
yawpVideo.player = player
player.play()
}
这会导致错误:
*** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[AVPlayerLayer superview]:
unrecognized selector sent to instance 0x7fe320cb2030'
你能告诉我这个问题是什么原因造成的吗?如何解决?
UIView
不是 CALayer
,您不能将 AVPlayerLayer
添加到故事板。
相反,在您的视图加载后,以编程方式将您的 AVPlayer playerLayer
添加到 UIView 的层。
将您的插座更改为 UIView
:
@IBOutlet weak var yawpVideo: UIView!
然后,添加图层:
player = AVPlayer(URL: url)
let playerLayer = AVPlayerLayer(player: player)
yawpVideo.layer.addSublayer(playerLayer)
在我的故事板中,我在 UIViewController 中放置了一个视图。 我在那里添加了必要的参数:
并将其与我的代码连接:
在我的代码中:
import AVKit
import AVFoundation
@IBOutlet weak var yawpVideo: AVPlayerLayer!
override func viewDidLoad() {
let url:NSURL = NSURL(string: videoURL)!
player = AVPlayer(URL: url)
yawpVideo.player = player
player.play()
}
这会导致错误:
*** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[AVPlayerLayer superview]:
unrecognized selector sent to instance 0x7fe320cb2030'
你能告诉我这个问题是什么原因造成的吗?如何解决?
UIView
不是 CALayer
,您不能将 AVPlayerLayer
添加到故事板。
相反,在您的视图加载后,以编程方式将您的 AVPlayer playerLayer
添加到 UIView 的层。
将您的插座更改为 UIView
:
@IBOutlet weak var yawpVideo: UIView!
然后,添加图层:
player = AVPlayer(URL: url)
let playerLayer = AVPlayerLayer(player: player)
yawpVideo.layer.addSublayer(playerLayer)