两个不同的MFMailComposeViewController视图相同

时间:2012-04-22 12:49:13

标签: xcode email

嗨我有两个不同的MFMailComposeViewController相同的视图,它们写在两个不同的邮件地址,我需要设置一个不同的成功警报。我尝试使用tag但MFMailComposeViewController不能使用tag?

我怎么能这样做?

这是我的第二个MFMailComposeViewController

-(IBAction)inviaMail2{
MFMailComposeViewController *mail2 = [[MFMailComposeViewController alloc] init];
mail2.mailComposeDelegate = self;

if([MFMailComposeViewController canSendMail]){
    [mail2 setToRecipients:[NSArray arrayWithObjects:@"piccolericette@alternativeindustries.it", nil]];
    [self presentModalViewController:mail2 animated:YES];

}
[mail2 release];
 }

 - (void)mailComposeController2:(MFMailComposeViewController *)controller2 didFinishWithResult:(MFMailComposeResult)result2 error:(NSError *)error{

[self dismissModalViewControllerAnimated:YES];

if (result2 == MFMailComposeResultFailed){
    UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Messaggio non inviato." message:@"Non è stato possibile inviare la tua mail, verifica la tua connessione internet e riprova." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
    [alert2 show];
    [alert2 release];
}
else {
    UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Messaggio inviato." message:@"Grazie per avermi contattato, ti risponderò il più presto possibile." delegate:self cancelButtonTitle:@"Prego" otherButtonTitles:nil];
    [alert2 show];
    [alert2 release];
}
}

1 个答案:

答案 0 :(得分:3)

<强>更新 我错过了你可以访问控制器。查看 .tag更接近OP想要的。
我将保留我的通用答案,因为它可能适用于您没有自定义字段的其他情况。

原始答案: 这更像是针对这个问题的通用设计解决方案(解决方法?)。 我不确定MFMailComposeViewController是否具有可用于区分的任何动态用户信息字段,但您可以在类中定义2个MFMailComposeViewController *属性,在创建时分配给它们,并在结果上检查它们。

类似的东西:

@property (...) MFMailComposeViewController *mail1;
@property (...) MFMailComposeViewController *mail2;

self.mail1 = [[MFMailComposeViewController alloc] init];
...

 - (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result2 error:(NSError *)error{
    if(controller == self.mail1) { ... }
}