2012-02-22 14 views
0

私はすべてを見てきましたが、おそらくそれをスキップしましたが、これは私が必要なものです。私は電子メールアドレスのリストを持つテーブルビューを持っていると私は、ユーザーがそれらのいずれかを選択し、受信者に選ばれたその電子メールアドレスでポップアップするメール作曲家のビューを持つことができるようにしたい。私はそれを見つけることができません。おそらくそれを行うだろうメールの連絡先のためのUITableView

+0

あなたの問題は何ですか? – JiaYow

+0

Chech 'MFMailComposerViewController' –

+0

私はmfmailcompiserviewcontrollerについて知っていますが、何をしようとしているのは、uitableviewに電子メールアドレスを表示することです。ユーザーがuitableセルをタップすると、mfmailcomposerviewcontrollerの電子メールアドレスになります。 –

答えて

1

didSelectRowAtIndexPathインサイド

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    //Get data from the datasource (supposing a one dimensional list) 
    NSString *theRecipent=[[self dataSource] objectAtIndex:[indexPath row]] 

    if([MFMailComposeViewController canSendMail]) { 
     MFMailComposeViewController *mailCont = [[MFMailComposeViewController alloc] init]; 
     mailCont.mailComposeDelegate = self; 

     [mailCont setSubject:@"The Subject"]; 
     [mailCont setToRecipients:[NSArray arrayWithObject:theRecipent]]; 
     [mailCont setMessageBody:@"I should elaborate more my questions :P" isHTML:NO]; 

     [self presentModalViewController:mailCont animated:YES]; 
     [mailCont release]; 
    } 
} 

// The delegate method 
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

、あなたは電子メールを送信するMFMailComposeViewControllerクラスを使用する必要があります(それはあなたが電子メールを送信できることを確認することは常に良いことです)、電子メールを送信します。

コードの一部はanswerから取得しました。

+0

これを行うべきである。 クラスmailClass = NSClassFromString(@ "MFMailComposeViewController"); if(mailClass!= nil){ if([MFMailComposeViewController canSendMail]){ } } – looyao

+0

これを行う利点は何ですか?私はものを学びます:D –

+0

申し訳ありません、私は間違いをします。これを行う必要はありませんが、([[MFMailComposeViewController alloc] init])がnilを返すかどうかを確認する方が良いでしょう。デバイスにメールアカウントが設定されていない場合([[MFMailComposeViewController alloc] init])、一部のデバイスでnilが返され、Appがクラッシュした場合、このような状況に遭遇しました。 – looyao

関連する問題