首先你必须在你的 .h 文件中添加 UIDocumentInteractionControllerDelegate
即:
@interface MyDocumentViewController : UIViewController <UIDocumentInteractionControllerDelegate>
在您的 .m 文件中添加协议,这使您能够了解发生了什么...
- (void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application{
NSLog(@"Send to App %@ ...", application);
}
- (void)documentInteractionController:(UIDocumentInteractionController *)controller didEndSendingToApplication:(NSString *)application{
NSLog(@"Finished sending to app %@ ...", application);
}
- (void)documentInteractionControllerDidDismissOpenInMenu:(UIDocumentInteractionController *)controller{
NSLog(@"Bye");
}
当然,您必须将 UIDocumentInteractionController 的委托设置为该模块。我是这样解决的:
-(BOOL)canOpenDocumentWithURL:(NSURL*)url inView:(UIView*)view {
BOOL canOpen = NO;
UIDocumentInteractionController* tmpDocController = [UIDocumentInteractionController
interactionControllerWithURL:url];
if (tmpDocController)
{
tmpDocController.delegate = self;
canOpen = [tmpDocController presentOpenInMenuFromRect:CGRectZero
inView:self.view animated:NO];
[tmpDocController dismissMenuAnimated:NO];
}
return canOpen;
}