我使用的是一个独立的UINavigationBar,其中有一个按钮可以切换左侧的侧菜单。它完美地工作。
现在我想使用MFMailComposeViewController添加一个电子邮件反馈表单。它出现了,我可以编辑所有字段(收件人、主题、正文),但当我想"发送"时,按钮没有反应。当我点击"取消"时,我注意到底层UINavigationBar按钮的功能会触发。尽管我只看到电子邮件撰写对话框,但我的UINavigationBar似乎"在"电子邮件撰写对话框的NavigationBar之上。
是否有任何方法可以确保MFMailComposeViewController处于其他一切之上?
感谢
我看到您正在将委托设置为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
进行奇怪的交互。仔细检查你所有的笔尖连接,如果它仍然不工作,试着推另一个"测试"视图控制器。它可能是你的代码或笔尖的东西,而不是MFMailComposeViewController
本身。