1

我收到以下错误:

Application tried to present a nil modal view controller on target <UINavigationController: 0x2007af00>.

在以下代码上:

-(void) showAddressBookDialog
{
    [self presentMailComposeViewController:nil];
}


- (void)presentMailComposeViewController:(NSString *)recipient {
    // Create the compose email view controller
    MFMailComposeViewController *composeEmailViewController = [[MFMailComposeViewController alloc] init];
    [composeEmailViewController setMailComposeDelegate:self];
    [composeEmailViewController setSubject:@"Join me on X"];
    [composeEmailViewController setToRecipients:[NSArray arrayWithObjects:recipient, nil]];
    [composeEmailViewController setMessageBody:@"" isHTML:YES];
    [composeEmailViewController setModalPresentationStyle:UIModalPresentationFormSheet];
    [self dismissModalViewControllerAnimated:NO];
    self.inviteFriendsMailComposerVC_ = composeEmailViewController;
    //[self.navigationController presentModalViewController:composeEmailViewController animated:YES];
    [self.navigationController presentViewController:composeEmailViewController animated:YES completion:nil];
    [composeEmailViewController release];
}

知道为什么吗?

4

2 回答 2

2

我想知道你为什么要先解雇你的观点......从你的方法中删除这一行

[self dismissModalViewControllerAnimated:NO];

最好先检查设备是否配置为发送电子邮件。看到这个链接

于 2012-09-24T04:47:46.263 回答
0

navigationController是 all 的属性,UIViewControllers它为您提供其父导航视图控制器(如果存在)。听起来您从未添加 yourviewController到导航控制器的视图控制器堆栈中。

于 2012-09-24T04:43:39.807 回答