2011-12-27 133 views
3

我使用UIDocumentinteractioncontroller在其他應用程序(如ibook)上打開pdf。如何在其他應用程序如ibooks上打開pdf

但很難找到關於它的文檔。

現在我可以展示部分。但是當我點擊ibooks的圖標時。沒有發生。

我是否需要在委託中做些事情,比如documentInteractionController:willBeginSendingToApplication:???

+0

答案是有在下面的帖子 http://stackoverflow.com/questions/6741565/docinteraction-sample-code-uidocumentinteractioncontroller-broken-on-ios-4 -3-S – ArunaFromLK 2012-01-13 05:14:16

回答

0

首先你要添加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; 
} 
相關問題