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はすべてのプロパティでありUIViewControllers、親ナビゲーションビューコントローラが存在する場合はそれを提供します。yourviewControllerナビゲーションコントローラーのビューコントローラーのスタックに追加したことがないようです 。

于 2012-09-24T04:43:39.807 に答える