2

iPhone 的 iPhoto 应用程序具有一项功能(它是共享选项的一部分),可让您将一张或多张照片发送到 iMovie iPhone 应用程序。

有谁知道如何实现这样的功能(将照片从另一个应用程序发送到 iMovie 应用程序)?它似乎正在使用 URL Schemas,但我找不到任何关于它的文档。

4

2 回答 2

0

使用UIDocumentInteractionController

就在文档中:

要提示用户仅在另一个应用程序中打开文件,请调用presentOpenInMenuFromRect:inView:animated:presentOpenInMenuFromBarButtonItem:animated:方法。

或者

要使用一组选项提示用户,包括在另一个应用程序中打开文件的选项,请调用presentOptionsMenuFromRect:inView:animated:presentOptionsMenuFromBarButtonItem:animated:方法。

您可以这样做:

  1. 注册您的第一个应用程序,以便能够处理您喜欢的图像文件类型
  2. 在您的第二个应用程序中,实现我在 UIDocumentInteractionController 中所述的方法。所以它会提示用户选择将图片发送到第一个应用程序。文档为此。
  3. 在您的第一个应用程序中,实现此方法:

    -(BOOL)application:openURL:sourceApplication:annotation:

    打开从第一个应用程序传输的图片。图片将存储在Documents/Inbox. 然后,您现在可以愉快地在您的第一个应用程序中使用该图片。

于 2013-04-02T11:55:07.077 回答
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:

所以现在会出现一个弹出窗口,列出所有愿意使用您的图像的应用程序(包括 iMovie,如果已安装)。

如果您想了解有关 UIDocumentInteractionController 的更多信息,请访问此处:http: //developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDocumentInteractionController_class/Reference/Reference.html

于 2013-04-01T06:26:47.923 回答