一些背景可以更好地理解这个问题:
在iPad上的iOS 12上,当我用作 的类型时,它显示为弹出框。还需要设置一个and ,否则它会崩溃。.actionSheet
UIAlertController
sourceRect
sourceView
但。当我在 ViewController 中以 formSheet/pageSheet/popover 的形式呈现这样的警报时,该警报将不需要 sourceRect/sourceView 并且将呈现为 iPhone 样式的操作表(但不像它那样作为弹出框应该在 iPad 上)。它看起来像这样:
iOS 13 发生了什么:
在 iOS13 上,这种行为发生了变化。上面的情况现在崩溃了,需要 sourceRect/sourceView ,因为它通常发生在 iPad 上。这意味着即使警报显示在 formSheet/pageSheet/popover VC 中,它仍然需要 sourceRect/sourceView,现在它将显示为弹出框(但不是 iPhone 样式的操作表)。
问题:
如果有人知道如何在这种情况下将警报演示保持在相同的 actionSheet 样式(但不是弹出窗口)中,我将不胜感激,就像以前在 iOS 12 上一样。
更新:显然这个问题开始出现在 iOS13.2(不是 13.0)