在呈现新控制器时隐藏导航栏

时间:2012-04-07 01:26:11

标签: objective-c

单击按钮时,最终用户可以发送电子邮件。但是导航栏不会消失,电子邮件导航栏隐藏在主导航栏下方。有没有办法隐藏主要的?这是按下按钮时调用的操作:

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

        [mailCont setSubject:@"Hello!"];
        [mailCont setToRecipients:[NSArray arrayWithObject:@"name@email.com"]];
        [mailCont setMessageBody:@"Test" isHTML:NO];

        [self.navigationController setNavigationBarHidden:YES];
        [self presentModalViewController:mailCont animated:YES];
    }
}

1 个答案:

答案 0 :(得分:0)

self.navigationController.navigationBar是邮件控制器的导航控制器。因此,您隐藏了电子邮件导航栏,而不是主要导航栏。你不应该隐藏主要的一个。接听电话([self.navigationController setNavigationBarHidden:YES];),看看你得到了什么。你应该看到另一个前面的邮件控制器,显示一个导航栏。主导航栏仍然可见,但它将落后。