I am working on a video editor app where I need a trimmer for the video. So I found this package. Now When I'm trying to show the TrimView,but it's not showing up on my SwiftUI view.
This is my View Controller Representable
final class TrimView: UIViewControllerRepresentable{
let player: AVPlayer
init(player: AVPlayer){
self.player = player
}
func makeUIViewController(context: Context) -> some UIViewController {
return TrimVC(player: player)
}
func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context) {
}
}
Here's my View Controller
class TrimVC: UIViewController, TrimmerViewDelegate{
func didChangePositionBar(_ playerTime: CMTime) {
//
}
func positionBarStoppedMoving(_ playerTime: CMTime) {
//
}
let player: AVPlayer
init(player: AVPlayer){
self.player = player
super.init(nibName: nil, bundle: nil)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
var trimmerView: TrimmerView = TrimmerView()
override func viewDidLoad() {
trimmerView.delegate = self
view.addSubview(trimmerView)
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
loadTrimmer()
}
func loadTrimmer() {
let frame = view.frame.inset(by: view.safeAreaInsets)
let viewWidth = frame.size.width
trimmerView.asset = player.currentItem?.asset
// THIS IS PRINTING MY CURRENT ASSET DIRECTORY.
print("Asset: \(player.currentItem?.asset)")
}
}
And This is How I'm calling it to my SwiftUI View
TrimView(player: player)
.background(Color.red)
.frame( height: UIScreen.screenHeight * 0.05)
But the trimmerView is not showing on my view but only the red square which I put to see if the view is available.