Objective c UINavigationController后退按钮触发当前视图提前消失

Objective c UINavigationController后退按钮触发当前视图提前消失,objective-c,ios,uinavigationcontroller,Objective C,Ios,Uinavigationcontroller,我的iPad应用程序中有一个简单的导航控制器,但我发现了一个以前从未见过的奇怪错误。我可以很好地将视图推到视图控制器堆栈上,但是当我点击导航栏上的后退按钮时,视图在滑出屏幕之前消失。我不做任何让人胆战心惊的事。以前是否有人遇到过此问题?如果我遇到此问题,我会将日志消息添加到ViewWillEnglish、ViewDidEnglish和dealloc。我假设您使用的是ARC,但它并不是那么关键 在所有情况下,我都会记录方法名称和视图,如: NSLog(@“viewwilldiscover:view

我的iPad应用程序中有一个简单的导航控制器,但我发现了一个以前从未见过的奇怪错误。我可以很好地将视图推到视图控制器堆栈上,但是当我点击导航栏上的后退按钮时,视图在滑出屏幕之前消失。我不做任何让人胆战心惊的事。以前是否有人遇到过此问题?

如果我遇到此问题,我会将日志消息添加到ViewWillEnglish、ViewDidEnglish和dealloc。我假设您使用的是ARC,但它并不是那么关键

在所有情况下,我都会记录方法名称和视图,如:

NSLog(@“viewwilldiscover:view=%@animated=%d”,self.view,animated)

确保在前两个方法中调用super


我怀疑您的视图正在从superview中删除或在您认为应该的情况下发布。

我看了一下。一切似乎都很正常。我认为这可能与首先推动消失的视图控制器的视图控制器有关,因为无论我将哪个视图控制器推到堆栈上,这种情况都会发生。第一个视图控制器将获得一个ViewWillDisplay,ViewDidDisplay-确保问题不是从那里来的。我的上一家公司没有人想到这些消息会发生,只有一次!经过进一步检查,这些似乎都不是问题的根源。还有其他建议吗?好吧,如果你可以复制你的项目,然后把它裁剪成两个没有任何有趣之处的视图,你可以把它们(作为zip)发布到DropBox上的公共文件夹(或者使用github),然后我和其他人可能会尝试一下。或者,还有两个想法-确定问题是在第一个viewcontroller中还是在推送的控制器中。创建一个非常简单的viewcontroller,其中只包含一个按钮,当按钮按下view controller时,查看问题是否消失。这将帮助您确定问题出在谁身上。