dimiss提出了viewcontroller IOS后,UINavigationController的行为有问题

时间:2016-04-07 02:21:58

标签: ios

我现在正在使用tabbar控制器和uinavigation控制器,当我通过presentviewcontroller调用MFMailComposeViewController,并被dismissviewcontrolleranimated解雇时,我向后滑动并再次按下视频控制器我发现后退按钮消失且标题错误

标签 - > ViewController [A](导航控制器嵌入) - (PUSH) - > ViewController [B](带后退按钮) - (现在) - > MFMailComposeViewController - (Dismiss) - >显示ViewController [B] - (向后滑动) - > ViewController [A] - (推送) - > ViewController [B](后退按钮消失,标题错误)

即使我按回而不是向后滑动,我发现仍有一些问题不像往常一样导航推送控制器

非常感谢有人可以提供帮助!

在所有这些之后,ViewController [B]弹出/滑动回ViewController [A] viewdidappear,并且不会触发ViewController [A]中的viewwillappear函数。

1 个答案:

答案 0 :(得分:1)

我在我的应用程序中拥有完全相同的流程,但我没有任何问题导航栏搞砸了。

以下是视图控制器的创建方式:

MFMailComposeViewController *mailVC = [[MFMailComposeViewController alloc] init];

代表设置:

mailVC.mailComposeDelegate = self;

显示视图控制器:

[self presentViewController:mailVC animated:YES completion:nil];

视图控制器在委托方法中被解除,该方法在用户按下导航栏中的“取消”按钮时调用:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{
    [self dismissViewControllerAnimated:YES completion:nil];
}   

希望这有帮助。