Set custom protocol and delegate methods

Declare protocol

@objc protocol BottomViewDelegate {
    @objc optional func btnHome()
}

set delegate variable

class BottomView: UIView {
    var delegate: BottomViewDelegate! = nil

    override func awakeFromNib() {
        super.awakeFromNib() 
    }
}

call delegate method

@IBAction func btnHome_Click(_ sender: UIButton) {
        self.delegate.btnHome!()
}

Define delegate method

extension HomeViewController: BottomViewDelegate{
    func btnHome() {
        let VC = ViewController(nibName: "ViewController", bundle: nil)
        self.navigationController?.pushViewController(VC, animated: false)
    }
}