How to bring custom toastView above keypad in swift?

I trying to display toast on bottom of screen but, when keypad appears toast is hiding behind keypad. Please any one suggest me the solution. Below is my code which i tried.

func displayToast(_ message : String) {

    guard let delegate = UIApplication.shared.delegate as? AppDelegate, let window = delegate.window else {
        return
    }
    if let toast = window.subviews.first(where: { $0 is UILabel && $0.tag == -1001 }) {
        toast.removeFromSuperview()
    }

    let toastView = UILabel()
    toastView.backgroundColor = UIColor.black.withAlphaComponent(0.7)
    toastView.textColor = UIColor.white
    toastView.textAlignment = .center
    toastView.font = UIFont(name: "Font-name", size: 17)
    toastView.layer.cornerRadius = 15
    toastView.clipsToBounds = true
    toastView.text = message
    toastView.numberOfLines = 0
    toastView.alpha = 0
    toastView.translatesAutoresizingMaskIntoConstraints = false
    toastView.tag = -1001

    let windowww = UIApplication.shared.windows[UIApplication.shared.windows.count - 1]
    windowww.addSubview(toastView)
    
    let horizontalCenterContraint: NSLayoutConstraint = NSLayoutConstraint(item: toastView, attribute: .centerX, relatedBy: .equal, toItem: windowww, attribute: .centerX, multiplier: 1, constant: 0)

    let widthContraint: NSLayoutConstraint = NSLayoutConstraint(item: toastView, attribute: .width, relatedBy: .equal, toItem: nil, attribute: .width, multiplier: 1, constant: (self.frame.size.width-25) )

    let verticalContraint: [NSLayoutConstraint] = NSLayoutConstraint.constraints(withVisualFormat: "V:|-(>=200)-[toastView(==50)]-68-|", options: [.alignAllCenterX, .alignAllCenterY], metrics: nil, views: ["toastView": toastView])

    NSLayoutConstraint.activate([horizontalCenterContraint, widthContraint])
    NSLayoutConstraint.activate(verticalContraint)

    UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseIn, animations: {
        toastView.alpha = 1
    }, completion: nil)

    DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3), execute: {
        UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseIn, animations: {
            toastView.alpha = 0
        }, completion: { finished in
            toastView.removeFromSuperview()
        })
    })
}

Keyboard is always the top most window, on purpose.

What you have to do is move the view upward so that the bottom is not hidden.

But in fact, it must be a bit more subtil. What is important is the keep the field being edited visible (and possible some associated text or objects below).

So you have to compute whether the view must be moved up and how much.

This is to be implemented in keyboardWillShow.

How to bring custom toastView above keypad in swift?
 
 
Q