我不想用AVPlayerLayer复制实时照片缩放效果。为此,我使用VideoView
class VideoView: UIView {
override class var layerClass: AnyClass {
return AVPlayerLayer.self
}
var playerLayer: AVPlayerLayer {
return layer as! AVPlayerLayer
}
var player: AVPlayer? {
get {
return playerLayer.player
}
set {
playerLayer.player = newValue
}
}
}问题是,在视频播放期间,每当我试图更改视图或层的transform属性时,都不会发生任何变化。但是,这些更改将在回放结束后应用。
动画示例:
func zoomIn() {
UIView.animate(
withDuration: 0.2,
delay: 0,
options: .allowAnimatedContent,
animations: {
self.transform = .init(scaleX: 1.1, y: 1.1)
},
completion: { _ in
})
}发布于 2019-05-02 20:05:03
AVPlayerLayer似乎忽略了许多CALayer属性,而扩展VideoView的唯一方法就是更改它的frame。
https://stackoverflow.com/questions/55381233
复制相似问题