显示共享表并选择通过消息共享后,视图生命周期中发生了一些非常奇怪的事情。当弹出文本消息模式时,viewWillDisappear
或viewDidDisappear
都不会触发。据我所知,当应用程序被发送到后台(用户按下主页按钮)或从先前处于活动状态恢复时,您不会获得查看生命周期委托方法回调,但真正奇怪的是,当您关闭消息模式时{ {1}} IS 被调用。
在这种情况下,出现/消失的呼叫不会相互平衡这一事实会给我带来麻烦。有没有人知道Apple文档中的某些内容可以解释这个问题,或者使用UIActivityViewController
时可能会遗漏的内容?
答案 0 :(得分:0)
我仍然不知道为什么你没有得到消失的回调,但是会得到一个回调,但是如果它最终导致其他人有问题就知道你了可以使用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];