我现在正在使用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函数。
答案 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];
}
希望这有帮助。