嗨我有两个不同的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];
}
}
答案 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) { ... }
}