我一直在努力使用 UINavigationalController 在视图之间切换。我已经多次使用这个系统没有问题,但在我的新应用程序中它不能正常工作。
这是问题:当我推送一个新的视图控制器时,我使用以下代码:
NewViewController *newVC = [[NewViewController alloc] initWithNib:@"NewView" bundle:nil];
[self.navigationController pushViewController:newVC animated:YES];
[newVC release];
我用来返回 newVC 内部的前一个视图的代码是:
[self.navigationController popViewControllerAnimated:YES];
我读到这可能会释放 self.navigationController 本身,所以我实现了这段代码:
UINavigationController *nc = [self navigationController];
[nc popViewControllerAnimated:YES];
结果是平滑地过渡到 newVC,没有白色闪烁,但是当返回到原始页面时,屏幕会闪烁白色,好像它在转换回原始页面之前正在释放 newVC。然而!调试时,我在原始页面的 viewWillAppear 和 newVC 的 dealloc 上放置了断点,并且在调用 newVC 的 dealloc 之前,带有白色闪光的 viewWillAppear + 过渡全部完成。
如果有人可以帮助阐明这一点,我将不胜感激。
谢谢!~阿拉什