Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios MFMailComposeViewController干扰应用程序的导航控制器_Ios_Xcode_Uiviewcontroller_Uinavigationcontroller_Mfmailcomposeviewcontroller - Fatal编程技术网

Ios MFMailComposeViewController干扰应用程序的导航控制器

Ios MFMailComposeViewController干扰应用程序的导航控制器,ios,xcode,uiviewcontroller,uinavigationcontroller,mfmailcomposeviewcontroller,Ios,Xcode,Uiviewcontroller,Uinavigationcontroller,Mfmailcomposeviewcontroller,我有一个通用应用程序,它使用MFMailComposeViewController发送应用程序反馈。该应用程序包含几个其他组件,用户可以通过单击列出每个组件的表视图单元格自行启动这些组件。使用导航控制器的pushViewController:方法启动组件 但是,使用MFMailComposeViewController,有必要从视图控制器本身而不是从导航控制器调用presentViewController。一旦调用MFMailComposeViewController,UI就会遇到布局问题,直到

我有一个通用应用程序,它使用MFMailComposeViewController发送应用程序反馈。该应用程序包含几个其他组件,用户可以通过单击列出每个组件的表视图单元格自行启动这些组件。使用导航控制器的pushViewController:方法启动组件

但是,使用MFMailComposeViewController,有必要从视图控制器本身而不是从导航控制器调用presentViewController。一旦调用MFMailComposeViewController,UI就会遇到布局问题,直到重新启动为止

我怀疑这是因为MFMailComposeViewController继承了UINavigationController,将另一个导航控制器推到堆栈上会导致冲突。以下是电子邮件表单的当前初始化:

MFMailComposeViewController *emailForm = [[MFMailComposeViewController alloc] init];
// configure the form
[self.parent presentViewController:emailMessage animated:YES completion:nil];
我想这里真正的问题是如何在已经包含导航控制器的应用程序中使用MFMailComposeViewController


有人能提供解决方案的建议吗?谢谢

当您展示mailComposeViewController时,在主队列上调度它,UI约束问题将不会发生。我正在使用swift,所以我必须这样做:

调度\u异步调度\u获取\u主队列{
self.presentViewControllermailComposeViewController,动画:false,完成:nil}

您实际看到了哪些问题?我通常会发现,如果您演示的是MFMailComposeViewController,那么在视图控制器完成后,需要重置导航或状态栏的任何自定义设置。您可以在[Will/Did]视图中重置它们,或者在MFMailComposeViewController的代理中重置它们。我有一个类似的问题,无法控制MFMailComposeViewController上的方向设置