繁体   English   中英

防止在出现警报时显示视图控制器

[英]Prevent view controllers from being presented when alert is there

我有一些代码异步检查错误,如果发生错误,它会使用window.rootViewController?.present(...)显示警报window.rootViewController?.present(...)

有时,这是在显示视图控制器之前发生的,因此会在一秒钟内显示警报,然后新的视图控制器会放在其顶部。

事实是,新的VC也可以异步呈现(即,HTTP请求完成时)。

有没有办法使警报真正具有模态性? 如何处理呢?

也许这会有所帮助: 检查UIAlertController是否已经显示的最佳方法是什么?

我会尝试检查presentedViewController属性是否与nil不同,即使之前曾短暂呈现过该属性,该属性也应包含所呈现的视图控制器。 如果是这种情况,您可以避免提出新的建议。

另一种选择是将视图添加到所有内容上方的其他窗口中,以便无法在其上呈现任何内容。 您可以在UIWindowLevelAlert或其他级别上显示它,并且它将显示在所有控制器上。 我敢肯定,在它自己的窗口中的一个示例是Instagram中的体积视图,该视图向下滑动以覆盖该视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM