0

在我的应用程序中,我使用MFMailComposeViewController发送邮件。 此的viewController是从的viewController即上一个UINavigationController的顶推与dismissViewControllerAnimated休息GUI

[self presentViewController:mailer animated:false completion:nil]; 

。当你完成邮寄我删除mfmailcomposeviewcontroller与

[self dismissViewControllerAnimated:NO completion:NULL]; 

的问题比我的UINavigationController的观点没有填满整个屏幕,不属于此的UINavigationController的一部分变为无效呈现在屏幕上的所有元素。我不知道如何开始解决这个问题,所以任何暗示都将非常感激。

+1

关于dismiss方法,shouldnt'完成:'是'nil',而不是'NULL'? – 2013-03-18 22:45:03

+0

这是iPad或iPhone上的问题吗?如果这是在iPad上,是否正在使用吐视图控制器? – rmaddy 2013-03-18 23:00:38

+0

如果你的'UINavigationController'不占用整个屏幕,那意味着你正在显示多个视图控制器?你有某种容器视图控制器吗?您是否使用控制器遏制方法来创建适当的VC层次结构? – Tricertops 2013-03-20 22:03:53

回答

0

我发现dismissViewController更改调用视图的大小。在这个视图上有一个透明背景,我没有意识到......我可以通过简单地重新调整navigationcontroller的视图来轻松解决这个问题。我希望这个答案能够帮助任何有同样问题的人。

0

如果需要出示MFMailComposeViewController视图控制器是一个导航控制器,那么你应该通过调用做到这一点:

[self.navigationController presentViewController:mailer 
             animated:YES 
             completion:nil]; 

然后你就解雇这样说:

[self.navigationController dismissViewController:mailer 
             animated:YES 
             completion:nil]; 
+0

我试过nil和null,我不希望它被动画 – 2013-03-19 14:03:10

+0

它没有使用null而不是nil,因为它们在上下文中都是0。请阅读http://nshipster.com/nil/ 当您将NO传递给动画时,答案是否按照您的要求行事? – Moxy 2013-03-19 14:10:11

+0

我做了回答否动画问题不在于动画,而是在解除被调用后对象变为非活动状态 – 2013-03-20 20:26:50