该问题与其他问题类似,例如this和this,但有一些区别:
它涉及UIDocument 菜单 ViewController,而不是UIDocument Picker ViewController。 deprecated前者受到后者的青睐,但OS仍在旧设备上使用。
仅当用户使用“取消”关闭文档选择弹出窗口时才会出现此问题,而不是在他们实际选择文件时发生。
Apple似乎已修复了iOS 12中的所有错误,但有些错误仍在iOS 11中徘徊。
就像其他解决方案所建议的那样,我在根视图控制器中重写了dismissViewControllerAnimated。当用户点击“图片库”或“浏览”以调出相应的视图控制器时,将调用一次。在这种情况下,我们将其中继到超类:
-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
if ( self.presentedViewController) {
[super dismissViewControllerAnimated:flag completion:completion];
}
}
但是,当用户点按“取消”时,根本不会调用此dismissViewControllerAnimated,但是文件选择视图控制器和我当前的视图控制器都被关闭了。因此,我不确定这里是否可以找到合适的解决方案。