5

我正在使用 UIDocumentInteractionController 发送一封带有 PDF 附件的电子邮件,如下所示:

我首先显示 PDF 文件

-(void)showPDFFile
{    
    NSURL *url = [NSURL fileURLWithPath:_filePath];

    if (url) {
        _documentInteractionController =
            [UIDocumentInteractionController interactionControllerWithURL:url];

        [_documentInteractionController setDelegate: self];
        [_documentInteractionController presentPreviewAnimated:YES];
    }
}


- (UIDocumentInteractionController *)setupControllerWithURL:(NSURL *)fileURL
                                              usingDelegate:(id <UIDocumentInteractionControllerDelegate>)interactionDelegate {

    UIDocumentInteractionController *interactionController =
        [UIDocumentInteractionController interactionControllerWithURL: fileURL];

    [interactionController setDelegate: interactionDelegate];
    return interactionController;
}

当 PDF 文件显示出来时,用户点击“导出”选项,iOS 的“打开方式”视图就会出现。

现在单击电子邮件会打开一个准备发送电子邮件的视图控制器。

如何以编程方式设置收件人:抄送/密送和主题字段?

谢谢!

4

2 回答 2

2

您可以使用以下UIDocumentInteractionController name属性分配邮件的主题:

_documentInteractionController.name = @"My custom mail subject";

不幸的是,这是我发现的唯一可以通过UIDocumentInteractionController.

于 2014-02-15T10:52:05.980 回答
0

不幸的是,弗洛里安的回答对我不起作用。我必须在本地复制文件,然后将 URL 设置为本地文件。设置名称只会更改预览中的标题,而不是电子邮件中的文件名或主题。

IE

NSFileManager* fileManager = [NSFileManager defaultManager];

NSError* err = nil;

NSString* newPath = [appDocumentsFolder stringByAppendingPathComponent:name];
if (![fileManager copyItemAtPath:[[NSURL URLWithString:path] path]  toPath:newPath error:&err]) {
    // handle error
}

NSURL *fileURL = [NSURL fileURLWithPath:newPath];

_controller = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
于 2014-06-27T09:54:18.123 回答