不显示UITextField内容的MessageUI框架问题

时间:2012-07-11 09:44:05

标签: iphone ios xcode ios5 messageui

我在我的应用程序中包含了用于发送邮件的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];
}

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

2 个答案:

答案 0 :(得分:2)

表单中只有四个%@字符串,因此忽略了提供给format方法的最后一个参数。

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

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

答案 1 :(得分: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来隐藏键盘......