Progress alert not dismissing from view in Swift 3

Viewed 1382

I'm trying to create a function for showing and dismissing a ProgressDialog in Swift 3. But in this code the dialog is not dismissing from the view controller.

func showLoadingDialog(show : Bool)  {
    if show {
        self.alert = UIAlertController(title: nil, message: "Please wait...", preferredStyle: .alert)
        let loadingIndicator = UIActivityIndicatorView(frame: CGRect(x: 10, y: 5, width: 50, height: 50))
        loadingIndicator.hidesWhenStopped = true
        loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
        loadingIndicator.startAnimating()
        self.alert.view.addSubview(loadingIndicator)
        self.present(self.alert, animated: true, completion: nil)
    }else{
        self.dismiss(animated: false, completion: nil)
    }
}

I have also tried the following methods for dismiss this dialog, but none of them worked:

self.alert.view.removeFromSuperview()

self.alert.view.alpha = 0
self.presentingViewController?.dismiss(animated: true, completion: nil)

Please help me. If you guys have any alternate solution, please make a suggestion.

2 Answers
Related