2012-02-22 89 views
0

我一直在尋找所有,我可能只是跳過它,但這是我需要的。我有一個包含電子郵件地址列表的表格視圖,我希望用戶能夠選擇其中的一個,並使郵件編輯器視圖彈出選定的電子郵件地址作爲收件人。我無法找到它。UITableView郵件聯繫人

+0

你能說明你的問題嗎? – JiaYow 2012-02-22 01:18:37

+0

Chech'MFMailComposerViewController' – 2012-02-22 01:20:36

+0

我知道mfmailcompiserviewviewcontroller,但是我試圖做的是在uitableview上顯示電子郵件地址,當用戶點擊可用單元格時,它將是mfmailcomposerviewcontroller中的電子郵件地址 – 2012-02-22 01:34:57

回答

1

這可能會做到這一點:

-(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]; 
} 

didSelectRowAtIndexPath裏面,你必須使用MFMailComposeViewController類來發送電子郵件(這是一件好事,檢查是否可以發送電子郵件)併發送電子郵件。

部分代碼摘自answer

+0

應該更好地做到這一點。 類mailClass = NSClassFromString(@「MFMailComposeViewController」);如果([MFMailComposeViewController canSendMail]){ } } – looyao 2012-02-22 04:34:44

+0

如果(mailClass!= nil){ }這樣做的優點是什麼?我在學習東西:D – 2012-02-22 04:41:32

+0

對不起,我犯了一個錯誤。沒有必要這樣做,但最好檢查([[MFMailComposeViewController alloc] init])是否返回nil。如果在設備中沒有設置郵件賬戶,([[MFMailComposeViewController alloc] init])在某些設備上返回nil,App崩潰,我遇到了這種情況。 – looyao 2012-02-22 06:22:13