2012-02-22 2 views
0

나는 모든 것을 살펴 봤는데 아마 그냥 건너 뛴다.하지만 이것이 내가 필요한 것이다. 전자 메일 주소 목록이있는 테이블보기가 있는데 사용자가 그 중 하나를 선택하고받는 사람으로 선택한 해당 전자 메일 주소로 팝업 할 수 있도록 메일 작성자보기를 가질 수있게하려고합니다. 나는 그것을 발견 할 수 없다.메일 연락처에 대한 UITableView

+0

문제점을 알려주십시오. – JiaYow

+0

Chech'MFMailComposerViewController' –

+0

나는 mfmailcompiserviewcontroller에 대해 알고 있지만 무엇을하려고하는지는 uitableview에 전자 메일 주소를 표시하고 사용자가 uitable 셀을 탭하면 mfmailcomposerviewcontroller의 전자 메일 주소가됩니다 –

답변

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]; 
    } 
} 
didSelectRowAtIndexPath 내부
// 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을 반환하고 응용 프로그램이 다운되면이 상황이 발생합니다. – looyao

관련 문제