独立的UINavigationBar和MFMailComposeViewController

时间:2012-03-01 13:59:30

标签: objective-c uinavigationbar mfmailcomposeviewcontroller

我正在使用一个独立的UINavigationBar,其中一个按钮可以切换左侧的侧边菜单。它完美无瑕。

现在我想使用MFMailComposeViewController添加电子邮件反馈表单。它出现了,我可以编辑所有字段(To,Subject,Body),但是当我想“发送”按钮时没有反应。当我单击“取消”时,我注意到底层UINavigationBar按钮的功能触发。好像我的UINavigationBar在电子邮件撰写对话框的NavigationBar“之上”,即使我只看到电子邮件撰写对话框。

有没有办法确保MFMailComposeViewController在其他所有内容之上?

谢谢

1 个答案:

答案 0 :(得分:2)

我看到您将委托设置为self,这很好,但您是否也在实施以下方法?

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

我猜测取消会以某种方式处理,而不会忽略合成视图控制器?

我也会尝试修改以下行:

[self presentModalViewController:controller animated:YES]; 

到此:

[self.navigationController presentModalViewController:controller animated:YES]; 

如果您正在使用导航栏,正如您所说,那么请尝试从视图控制器的nab控制器进行渲染。

这可能是奇怪的,就像与视图控制器wantsFullscreenLayout的奇怪交互一样。仔细检查所有nib连接,如果仍然无法正常工作,请尝试按另一个“测试”视图控制器。它可能与您的代码或笔尖有关,而不是MFMailComposeViewController本身。