我正在使用 Xcode 10 Beta 6,所以这可能只是一个错误。
我正在尝试将视图控制器 ( colorPickerController
) 呈现为弹出框。在该视图控制器中,我将能够设置一些属性,一旦弹出框被解除,我想读取这些属性。
这是代码:
在第 93...97 行中,我定义了一个完成处理程序。
在第 99 行,我介绍了colorPickerController
模态,包括完成处理程序。
运行代码时,颜色选择器控制器已成功显示在弹出窗口中。但是当我在弹出框之外点击(将其关闭)时,没有调用回调。
我想也许 aUIPopoverPresentationController
不会“正常”关闭,所以我尝试手动关闭弹出框,然后它自己会这样做,方法是调用dismiss
(popoverPresentationControllerShouldDismissPopover
第 110 行)。
现在这仍然不起作用,所以我设置了一个如图所示的断点,以检查是否甚至调用了委托方法。
那时我注意到,在运行应用程序时,完成处理程序在弹出窗口出现时被调用,而不是在它关闭时被调用。我什至在到达断点之前
就登录了控制台。Completion handler was called.
这怎么可能?