Objective c 显示iOS共享表后,不会调用ViewWillEnglish

Objective c 显示iOS共享表后,不会调用ViewWillEnglish,objective-c,cocoa-touch,uiactionsheet,uiactivityviewcontroller,Objective C,Cocoa Touch,Uiactionsheet,Uiactivityviewcontroller,在显示共享表并选择通过消息共享之后,视图生命周期中发生了一些非常奇怪的事情。当文本消息模式弹出时,视图不会消失或视图消失都不会激发。我知道,当一个应用程序被发送到后台(用户按下home按钮)或从以前的活动状态恢复时,您不会得到view lifecycle delegate方法回调,但真正奇怪的是,当您关闭消息时,modalViewwillDisplay被调用 在这种情况下,显示/消失调用不能相互平衡这一事实给我带来了问题。有人知道苹果文档中有什么可以解释这一点,或者我在使用时可能遗漏了什么吗?我

在显示共享表并选择通过消息共享之后,视图生命周期中发生了一些非常奇怪的事情。当文本消息模式弹出时,
视图不会消失
视图消失
都不会激发。我知道,当一个应用程序被发送到后台(用户按下home按钮)或从以前的活动状态恢复时,您不会得到view lifecycle delegate方法回调,但真正奇怪的是,当您关闭消息时,modal
ViewwillDisplay
被调用


在这种情况下,显示/消失调用不能相互平衡这一事实给我带来了问题。有人知道苹果文档中有什么可以解释这一点,或者我在使用时可能遗漏了什么吗?

我仍然不知道为什么你不会得到消失回调,但会得到出现回调,但是,如果它最终导致其他人出现问题,请知道您可以使用
UIActivityViewController
的完成处理程序。当共享表解除时(包括操作表和全屏模态,例如,当您通过消息共享时),将触发此命令

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:@[ shareText, shareUrl ] applicationActivities:nil];
[activityController setCompletionHandler:^(NSString *activityType, BOOL completed) {
    if (completed) {
        NSLog(@"completed: %@", activityType);
    }
    else {
        NSLog(@"not completed: %@", activityType);
    }
}];
[self presentViewController:activityController animated:YES completion:nil];