OStack程序员社区-中国程序员成长平台

标题: ios - 关闭呈现的 View Controller IOS 后 UINavigationController 行为错误 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:50
标题: ios - 关闭呈现的 View Controller IOS 后 UINavigationController 行为错误

我现在正在使用tabbar Controller 和uinavigation Controller ,当我通过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] (后退按钮消失,标题错误)

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

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


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



Best Answer-推荐答案


我的应用程序中的流程完全相同,但导航栏困惑没有任何问题。

以下是 View Controller 的创建方式:

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

委托(delegate)已设置:

mailVC.mailComposeDelegate = self;

显示 View Controller :

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

当用户按下导航栏中的取消按钮时, View Controller 在委托(delegate)方法中被解除:

- (void)mailComposeControllerMFMailComposeViewController*)controller didFinishWithResultMFMailComposeResult)result errorNSError*)error 
{
    [self dismissViewControllerAnimated:YES completion:nil];
}   

希望这会有所帮助。

关于ios - 关闭呈现的 View Controller IOS 后 UINavigationController 行为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36465602/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4