ios - 模态视图的工具栏被遮挡。 MFMailComposeViewController

标签 ios objective-c modalviewcontroller mfmailcomposeviewcontroller

我试图在我的应用程序中打开一个电子邮件窗口,但是应该具有“取消”和“发送”功能的顶部工具栏被导航 Controller 遮挡。

我相信原因是我正在打电话

 if ([MFMailComposeViewController canSendMail]) {
            MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
            controller.mailComposeDelegate = self;
            [controller setToRecipients:[NSArray arrayWithObject:@"internalapps@microstrategy.com"]];
            [controller setSubject:@"Mobile HelpDesk App"];
            [controller setMessageBody:@"" isHTML:NO];
            if (controller){
                [self presentViewController:controller animated:YES completion:^{}];
            }

        }

来自控制 ScrollView 内 View 的子 ViewController(用于分页)。

如何使工具栏位于导航栏顶部?目前,它只显示新电子邮件窗口,但我无法取消或发送电子邮件。

我尝试使用[self.parentViewControllerpresentViewController:controlleranimated:YEScompletion:^{}];,但这没有做任何事情。

谢谢!

最佳答案

您不能从 View Controller 中使用 presentViewController:... ,该 View Controller 的 View 不在 View 层次结构的顶部(因此很可能不会占据整个屏幕)。正如您所看到的,这会导致所呈现的 View 可能部分可见,并且可能不会响应某些区域的触摸。

尝试 self.parentViewController 是正确的解决方案(尽管您显示的代码无效)。您需要确保在层次结构中导航得足够远,以到达“根” View Controller 并从那里呈现。

关于ios - 模态视图的工具栏被遮挡。 MFMailComposeViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490440/

相关文章:

ios - 不支持的配置 : This file is set to build for a version older than the deployment target. 功能可能受限

iphone - 无法将单元格添加到 UITableView 从 Modal VC 到 Table VC(复杂)

ios - IIViewDeckController 和 presentViewController

ios - 构建失败并出现错误 Command/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc

ios - Flurry -retransmitNotSentBlocks 崩溃

iphone - iOS:日期组件查询

iOS:iPad 的 Size Class 在 iOS 7.1 上不显示 View

ios - swift 中另一个日期的同一周、月、年中的日期

objective-c - 从 objective-c 中的一组 int 值中查找最接近的 Int 值

ios - 表单 iPhone 在顶部更改颜色