0

助けが欲しいという質問があります。最初のメール コンポーザーをロードして正常に動作するようにしましたが、メール コンポーザーを起動できる複数のボタンを追加できるかどうか疑問に思っていました。私のアプリでやろうとしているのは、ユーザーが添付ファイルを介して自分自身にファイルを電子メールで送信できるようにすることですが、クリックするとメール作成者がそのファイルを表示する複数のボタンを持つ方法はありますか? 私はそれが理にかなっていることを願っています

これは私の.hファイルにあります

- (IBAction)Email:(id)sender;

これは私の.mファイルにあります

- (IBAction)Email:(id)sender
{
    if ([MFMailComposeViewController canSendMail]) 
        MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];

    mail.mailComposeDelegate = self;
    [mail setSubject:@"Questions or Concerns"];

    NSArray *recipient = [NSArray arrayWithObjects:@"abc@yahoo.com", nil];
    [mail setToRecipients:recipient];

    NSString *body = @"Please Send Your Feedback or any Suggestoins";
    [mail setMessageBody:body isHTML:NO];

    [self presentViewController:mail animated:YES completion:Nil];
}

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    [self dismissViewControllerAnimated:YES completion:nil];
}
4

1 に答える 1

0

多くのオプションがあります 次のシナリオを考えてみましょう ボタンが 2 つある but1 (tag=1、添付ファイルは file1) but2 (tag=2、添付ファイルは file2) 両方のボタンを同じメソッドに接続する必要があります

- (IBAction)Email:(id)sender;

.m ファイルで

- (IBAction)Email:(id)sender
{
    if ([MFMailComposeViewController canSendMail]) 
        MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];

    mail.mailComposeDelegate = self;
    [mail setSubject:@"Questions or Concerns"];
 if (((UIButton *)sender).tag==1){
            // add file 1
    }
    else   if (((UIButton *)sender).tag==2){
            // add file 2 
    }
    NSArray *recipient = [NSArray arrayWithObjects:@"abc@yahoo.com", nil];
    [mail setToRecipients:recipient];

    NSString *body = @"Please Send Your Feedback or any Suggestoins";
    [mail setMessageBody:body isHTML:NO];

    [self presentViewController:mail animated:YES completion:Nil];
}

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    [self dismissViewControllerAnimated:YES completion:nil];
}
于 2013-02-12T08:30:46.520 に答える