【发布时间】:2012-03-01 13:59:30
【问题描述】:
我正在使用带有一个按钮的独立 UINavigationBar,它可以切换左侧的侧边菜单。它完美无缺。
现在我想使用 MFMailComposeViewController 添加电子邮件反馈表。它显示出来,我可以编辑所有字段(收件人、主题、正文),但是当我想“发送”时,按钮没有反应。当我点击“取消”时,我注意到底层 UINavigationBar 按钮的功能触发了。即使我只看到电子邮件撰写对话框,我的 UINavigationBar 似乎也位于电子邮件撰写对话框的 NavigationBar 的“上方”。
有什么方法可以确保 MFMailComposeViewController 位于其他一切之上?
谢谢
【问题讨论】:
-
如何添加 UINavigationBar,如何呈现邮件编写器?
-
向我们展示您用来展示邮件编写器的代码...
-
显示代码有点困难。我有一个父视图,它有一个子视图,其中加载了一个视图,然后又启动了 MFMailComposeViewController。父视图具有 UINavigationBar(拖放到 XIB 上)。 MFMailComposeViewController 的代码非常简单,如下 - (IBAction)btnSendEmailPressed:(id)sender { MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];控制器.mailComposeDelegate = self; [控制器 setToRecipients:[NSArray arrayWithObject:@"MYEMAILADDRESS"]];
-
[控制器 setSubject:[NSString stringWithFormat:@"MYSUBJECT", [self bundleVersionNumber]]]; [控制器 setMessageBody:@"MYBODY" isHTML:NO]; if (controller) [self presentModalViewController:controller animated:YES]; [控制器释放]; }
-
父视图上发生的所有事情是我有一个 IBAction 方法,该方法由点击 UINavigationBar 中的按钮触发。在该方法中,我执行以下操作: MyViewController *subView = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; [[子视图视图] setTag:105]; [[self contentView] addSubview:[subView view]];并且在 subViews 视图中有一个 UIButton 会触发上面的方法。
标签: objective-c uinavigationbar mfmailcomposeviewcontroller