0

メールを送信するためにアプリに messageUI フレームワークを含めました。ユーザーが入力した値をメール本文に表示する 5 つの 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 つのテキスト フィールドの値がすべて表示され、5 番目のテキスト フィールドの値が表示されないことです。

4

2 に答える 2

2

フォーム at string には 4 つしかない%@ため、format メソッドに指定された最後のパラメーターは無視されます。

フォーマット文字列を変更して、5 つのパラメーターを指定します。

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 に答える