viewDidDisappear 没有在 UINavigationController 上被调用 [英] viewDidDisappear not getting called on a UINavigationController

查看:17
本文介绍了viewDidDisappear 没有在 UINavigationController 上被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的导航控制器有问题.如果我将视图控制器添加到堆栈中:

I'm having a problem with my navigation controller. If I add a view controller to the stack:

- (void) tui_ToggleListStudy:(id)sender
{
    listVC = [[ListViewController alloc] init];
    [self.navigationController pushViewController:listVC animated:NO];
    [listVC release];
}

我有 viewWillDisappear:viewDidDisappear 下面的视图控制器的 NSLog 消息 - 但只有 viewWillDisappear: 被调用.

I have NSLog messages for the view controller beneath, for both viewWillDisappear: and viewDidDisappear - but only viewWillDisappear: is getting called.

不仅如此,视图控制器也没有收到任何其他委托消息:没有 viewDidUnloaddealloc...

Not only that, but the view controller doesn't receive any other delegate messages either: No viewDidUnload, or dealloc...

对此我有什么办法吗?

我被难住了!有什么想法吗?

I'm stumped! Any thoughts?

谢谢!

推荐答案

如果您在代码中输入了与问题中相同的错字,我知道答案:方法签名是 viewDidDisappear:(使用 animated 参数),而不是 viewDidDisappear.

I know the answer if you made the same typo in your code that you made in your question: the method signature is viewDidDisappear: (with the animated argument), not viewDidDisappear.

不仅如此,视图控制器也没有收到任何其他委托消息:No viewDidUnload 或 dealloc...

Not only that, but the view controller doesn't receive any other delegate messages either: No viewDidUnload, or dealloc...

当您将另一个控制器压入堆栈时,视图控制器不会被释放.除非内存不足,否则不会调用 viewDidUnload.

A view controller will not be deallocated when you push another controller onto the stack. And viewDidUnload won't be called unless you run out of memory.

这篇关于viewDidDisappear 没有在 UINavigationController 上被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆