3
我使用UIDocumentinteractioncontroller在其他應用程序(如ibook)上打開pdf。如何在其他應用程序如ibooks上打開pdf
但很難找到關於它的文檔。
現在我可以展示部分。但是當我點擊ibooks的圖標時。沒有發生。
我是否需要在委託中做些事情,比如documentInteractionController:willBeginSendingToApplication:???
我使用UIDocumentinteractioncontroller在其他應用程序(如ibook)上打開pdf。如何在其他應用程序如ibooks上打開pdf
但很難找到關於它的文檔。
現在我可以展示部分。但是當我點擊ibooks的圖標時。沒有發生。
我是否需要在委託中做些事情,比如documentInteractionController:willBeginSendingToApplication:???
首先你要添加UIDocumentInteractionControllerDelegate在.h文件中
即:
@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;
}
答案是有在下面的帖子 http://stackoverflow.com/questions/6741565/docinteraction-sample-code-uidocumentinteractioncontroller-broken-on-ios-4 -3-S – ArunaFromLK 2012-01-13 05:14:16