在第二个 SIAlertView 消息和 popViewController 之后屏幕锁定

Screen locked after second SIAlertView message and popViewController

当请求失败时,SIAlertView 显示错误消息然后单击 SIAlertView 的确定按钮,popViewController 工作并且没有问题但是当我第二次尝试并且请求失败时,popViewController 再次工作但是有灰色和锁定的屏幕。屏幕没有任何反应。

我该如何解决这个问题? 顺便说一下,我正在使用 SVProgressHUD 来显示和隐藏加载器。

self.showLoader()
showCardViewModel?.generateCard(success: { [weak self] (cardModel) in
    guard let strongSelf = self else { return }
    if let cardModel = cardModel {
        strongSelf.cardModel = cardModel
    }
    self?.cardInfoView.isHidden = false
    self?.bottomView.isHidden = false
    strongSelf.hideLoader()
}, failure: { [weak self] (error) in
    guard let strongSelf = self else { return }
    strongSelf.hideLoader()
    AlertHelper.showAlert(with: AlertType.error,
                             message: error.localizedDescription,
                             delegate: self)
})

扩展方法:

extension ShowCardVC: SIAlertViewDelegate {
    func alertView(_ alertView: SIAlertView!, clickedButtonAt buttonIndex: Int) {
        if let navController = self.navigationController {
            navController.popViewController(animated: true)
        }
    }
}

您应该将此控件添加到 SIAlertView.m 中的 dismissAnimated 方法中

if ([SIAlertView sharedQueue].count >= 1) { [SIAlertView hideBackgroundAnimated:YES]; }