实战需求
SwiftUI 组件大全之 iOS 15 循环视频背景组件
本文价值与收获
看完本文后,您将能够作出下面的界面

看完本文您将掌握的技能
目前还没有一种直接的方法可以在 SwiftUI 中整合视频背景或视频播放器。幸运的是,在 Apple 提供的 AVKit 和 AVFoundation 的帮助下,我们仍然可以通过一些麻烦的方式使其工作。
实战代码
1、封装视频组件
struct PlayerView: UIViewRepresentable {
func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<PlayerView>) {
}
func makeUIView(context: Context) -> UIView {
return LoopingPlayerUIView(frame: .zero)
}
}
2、循环视频播放视图
class LoopingPlayerUIView: UIView {
private let playerLayer = AVPlayerLayer()
private var playerLooper: AVPlayerLooper?
required init?(coder: NSCoder) {
fatalEr
|