PryntTrimmerView in SwiftUI

Viewed 48

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.

0 Answers
Related