2

我将一个名为“test.own”的文件写入文档路径,并得到它的URL

现在我有一个按钮,我想要的是打开一个选项表对话框,当我单击按钮时,其中有电子邮件 或其他人要发送或打开我的文件。

有没有办法做到这一点?

提前致谢!

4

2 回答 2

2

选择文件时执行此操作。

- (IBAction)showFileOptions:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select a option"
                                                         delegate:self
                                                cancelButtonTitle:@"Cancel"
                                           destructiveButtonTitle:nil
                                                otherButtonTitles:@"email file",@"open file"];

[actionSheet showInView:self.view];
}

编写委托来处理 actionSheet:

- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex: (NSInteger)buttonIndex
{
if (buttonIndex == 0) {
    //email
    [self emailDocument];
}

else if (buttonIndex==1)
{
   //open file
}

}

电子邮件文件:

-(void)emailDocument
{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Your own subject"];

// Set up recipients
  NSArray *toRecipients = [NSArray arrayWithObject:@"first@example.com"]; 
  NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com", @"third@example.com", nil]; 
  NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com"]; 

 [picker setToRecipients:toRecipients];
 [picker setCcRecipients:ccRecipients];   
 [picker setBccRecipients:bccRecipients];

// Attach your .own file to the email

//add conversion code here and set mime type properly

NSData *myData =[NSData dataWithContentsOfURL:[NSURL urlWithString:pathToOwnFile]];
[picker addAttachmentData:myData mimeType:@"SETMIMETYPEACCORDINGLY" fileName:@"example.own"];

// Fill out the email body text
NSString *emailBody = @"PFA";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES]; 
}
于 2013-04-07T09:02:07.213 回答
1

对于电子邮件,您需要做的就是呈现 MFMailComposeViewController 视图,然后您可以.own通过该视图控制器的addAttachmentData:mimeType:fileName:方法添加您的“”自定义文档。

(我会链接到 Apple 的文档,但 Apple 的文档网站在我输入此内容时似乎已关闭)。

至于您问题的另一部分,其他应用程序通常使用 UIDocumentInteractionController 来显示“在...中打开”对话框,除了其他应用程序需要知道如何打开您的自定义文档(他们将无法做到这一点)如果您的应用程序不太大或不太出名,或者如果其他人(不是您)编写了它)。

于 2013-04-07T08:59:14.023 回答