iOS / Objective-C:关闭特定的UIALertController而不关闭其他ViewController

时间:2018-08-24 17:50:47

标签: ios objective-c uialertcontroller dismissviewcontroller

我试图自我解散单个alertController而不解散可能出现的其他任何控制器,例如SLComposer,另一个alertController和viewController,它们在序列中的不同时间出现。

我在SO的另一个答案中找到了这种方法,但是对呈现的viewController的检查似乎并不能区分哪些被驳回:

[presentViewController:hint animated:YES completion: {

    // Dispatch 3 seconds after alert presented
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

        // Check that hint alert is still presented
        if self.presentedViewController == hint {
            // Dismiss if it is
            [self.dismissViewControllerAnimated:YES completion:^{    
                //Dismissed
            }];    
        }
    });
}]

;

如果存在其他视图控制器,则即使它们没有命名为提示使我相信,上述代码也将其关闭,上述检查仅检查该提示是否存在并且不将其限制为该提示。

有什么办法可以解除特定的视图控制器?

预先感谢您的任何建议。

0 个答案:

没有答案