0

我在我的应用程序中包含了用于发送邮件的 messageUI 框架。它包含五个 UITextField,其中用户输入的值应显示在邮件正文中。这是我的代码

if ([MFMailComposeViewController canSendMail])
{
    MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];

    mailer.mailComposeDelegate = self;

    [mailer setSubject:[NSString stringWithFormat:@"Appointment From Mr/Mrs. %@",text1.text]];

    NSArray *toRecipients = [NSArray arrayWithObjects:@"info@xxx.com", nil];
    [mailer setToRecipients:toRecipients];



    NSString *emailBody =[NSString stringWithFormat:@"Name :%@\nDate: %@\nPreferred Time Slot: %@\nE-Mail:%@\nSpecific Requests:",text1.text,text2.text,text3.text,text4.text,text5.text]; 

    [mailer setMessageBody:emailBody isHTML:NO];


    [self presentModalViewController:mailer animated:YES];

    [mailer release];
}

我面临的问题是所有四个文本字段值都显示只有第五个文本字段值没有显示..有什么想法吗?...我错过了什么吗?...

4

2 回答 2

2

您在字符串中只有四个%@表单,因此提供给格式方法的最后一个参数将被忽略。

将格式字符串更改为具有五个参数:

NSString *emailBody =[NSString stringWithFormat:@"Name :%@\nDate: %@\nPreferred Time Slot: %@\nE-Mail:%@\nSpecific Requests:%2",text1.text,text2.text,text3.text,text4.text,text5.text]; 
于 2012-07-11T09:45:31.663 回答
1

编辑以下代码行

 NSString *emailBody =[NSString stringWithFormat:@"Name :%@\nDate: %@\nPreferred Time Slot: %@\nE-Mail:%@\nSpecific Requests:%@",text1.text,text2.text,text3.text,text4.text,text5.text]; 

你会得到你的要求......不要忘记在你输入文字后使用resignFirstresponder隐藏键盘......

于 2012-07-11T09:49:49.587 回答