【问题标题】:UINavigationController behave wrong after dimiss presented viewcontroller IOS关闭呈现的视图控制器 IOS 后 UINavigationController 行为错误
【发布时间】:2016-07-27 17:02:58
【问题描述】:

我现在正在使用tabbar控制器和uinavigation控制器,当我通过presentviewcontroller调用MFMailComposeViewController,并被dismissviewcontrolleranimated解散时,我向后滑动并单击再次推送viewcontroller我发现返回按钮消失并且标题错误.

Tab-> ViewController [A] (Navigation Controller Embed) -(PUSH)-> ViewController[B] (带后退按钮) -(Present)-> MFMailComposeViewController -(Dismiss)-> Show ViewController[B] -( Swipe Back)-> ViewController [A] -(Push) -> ViewController[B] (后退按钮消失,标题错误)

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

如果有人能提供帮助,非常感谢!


所有这些之后,ViewController[B] pop/swipe back to ViewController[A] viewdidappear 和 ViewController[A] 中的 viewwillappear 功能都没有被触发。

【问题讨论】:

  • 为了获得更好的答案,您应该将其包含为实际代码。理想情况下,尽可能多的相关代码,但至少是与问题直接相关的代码。
  • 我在回扫时遇到了这个问题,尝试在 viewWillAppear 中设置导航标题等,并在 viewWillDisAppear 方法中隐藏标题。我希望这会有所帮助。

标签: ios


【解决方案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];
}   

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多