iPhone的iPhoto应用程序具有一项功能(它是“共享”选项的一部分),可让您在iMovie iPhone应用程序中发送一张或多张照片。
有谁知道这样的功能(从其他应用程序向iMovie应用程序发送照片)是如何实现的?它似乎使用URL架构,但我找不到任何关于它的文档。
答案 0 :(得分:0)
首先,您需要要共享的图像的NSURL。如果您的图像仅在内存中,则可以将图像保存在某处,然后使用该URL。
NSURL *imageURL = /* URL of your image */
现在使用以下方法创建一个UIDocumentInteractionController:
UIDocumentInteractionController *documentInteractionController =
[UIDocumentInteractionController interactionControllerWithURL:imageURL];
就是这样。您可以继续使用以下任何方法呈现documentInteractionController:
– presentOptionsMenuFromRect:inView:animated:
– presentOptionsMenuFromBarButtonItem:animated:
– presentOpenInMenuFromRect:inView:animated:
– presentOpenInMenuFromBarButtonItem:animated:
– dismissMenuAnimated:
所以现在会出现一个popover,列出愿意使用您图片的所有应用(如果已安装,则包括iMovie)。
如果您想了解有关UIDocumentInteractionController的更多信息,请访问: http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html
答案 1 :(得分:0)
使用UIDocumentInteractionController :
直接来自doc:
要提示用户仅在另一个应用中打开该文件,请调用 presentOpenInMenuFromRect:inView:animated:或 presentOpenInMenuFromBarButtonItem:animated:方法。
或
要使用一组选项提示用户,包括在其他应用中打开文件的选项,请调用 presentOptionsMenuFromRect:inView:animated:或 presentOptionsMenuFromBarButtonItem:animated:方法。
以下是如何做到这一点:
在第一个应用中,实施此方法:
-(BOOL)application:openURL:sourceApplication:annotation:
打开从第一个应用传输的图片。图片将存储在Documents/Inbox
。然后,您现在可以在第一个应用程序中愉快地使用该图片。