我正在使用一个独立的UINavigationBar,其中一个按钮可以切换左侧的侧边菜单。它完美无瑕。
现在我想使用MFMailComposeViewController添加电子邮件反馈表单。它出现了,我可以编辑所有字段(To,Subject,Body),但是当我想“发送”按钮时没有反应。当我单击“取消”时,我注意到底层UINavigationBar按钮的功能触发。好像我的UINavigationBar在电子邮件撰写对话框的NavigationBar“之上”,即使我只看到电子邮件撰写对话框。
有没有办法确保MFMailComposeViewController在其他所有内容之上?
谢谢
答案 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
本身。