在显示将 isModalInPresentation 设置为 true 的页面后,无法正常关闭弹出框

Posted

技术标签:

【中文标题】在显示将 isModalInPresentation 设置为 true 的页面后,无法正常关闭弹出框【英文标题】:Can’t dismiss a popover normally after it presents a page sheet with isModalInPresentation set to true 【发布时间】:2019-10-18 16:06:43 【问题描述】:

我们有一个显示为弹出框的视图控制器 (A)。当它将视图控制器 (B) 显示为页面表时,我们将 B 上的 isModalInPresentation 设置为 true 以防止向下滑动手势将其关闭。但是将其设置为 true 也会导致它在视图控制器 A 上更改为 true。因此,在关闭页面表后(使用 dismiss(animated: true, completion: nil)),无法通过在其边界之外点击来关闭弹出框。

我们尝试在 B 上将 isModalInPresentation 设置回 false (在其 viewWillDisappear(_:) 中),虽然这会将 A 上的 isModalInPresentation 更改为 false,但仍然无法通过在其边界之外轻按 A 来将其解散.

【问题讨论】:

【参考方案1】:

在使用 Xcode 11.1 构建 ios 13.1 模拟器时,此问题似乎已得到修复(弹出框在超出其边界时被关闭,我们不需要在关闭 B 时将 isModalInPresentation 设置回 false)。

【讨论】:

以上是关于在显示将 isModalInPresentation 设置为 true 的页面后,无法正常关闭弹出框的主要内容,如果未能解决你的问题,请参考以下文章

如何在将放置在页眉区域的块中显示页面上显示的数据?

HTML/CSS - 将鼠标悬停在照片上时显示链接

如何将弹出框放置在突出显示的文本部分上?

将Date格式日期在前端页面显示

如何能够将数据保存在列表中并在 recyclerview 中显示

在将线性强度图像显示在 DICOM 校准显示器上之前,是不是需要对它们进行特殊处理?