Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么我的导航视图会弹出?_Ios_Uinavigationcontroller_Ios8_Xcode6_Tableview - Fatal编程技术网

Ios 为什么我的导航视图会弹出?

Ios 为什么我的导航视图会弹出?,ios,uinavigationcontroller,ios8,xcode6,tableview,Ios,Uinavigationcontroller,Ios8,Xcode6,Tableview,我有一个问题,当我在下面视图中突出显示的表格视图中上下滚动时,上下滚动几下就可以了,然后看起来是随机的,它会弹出到之前的视图中,但不会更新屏幕,所以它看起来只是卡在表格视图中,有时在第一次滚动时,它也会弹出视图 除非有人认为这是必要的,否则我真的不想发布我的整个课程,但如果有人能给我指出为什么会发生这种情况的正确方向,我将不胜感激 - (void) viewWillDisappear:(BOOL)animated { NSLog(@"Is this being dismissed: %d",

我有一个问题,当我在下面视图中突出显示的表格视图中上下滚动时,上下滚动几下就可以了,然后看起来是随机的,它会弹出到之前的视图中,但不会更新屏幕,所以它看起来只是卡在表格视图中,有时在第一次滚动时,它也会弹出视图

除非有人认为这是必要的,否则我真的不想发布我的整个课程,但如果有人能给我指出为什么会发生这种情况的正确方向,我将不胜感激

- (void) viewWillDisappear:(BOOL)animated
{
NSLog(@"Is this being dismissed: %d", [self isBeingDismissed]); // returns 0
NSLog(@"isMovingFromParentViewController %d", [self isMovingFromParentViewController]); // returns 0
NSLog(@"viewWillDisappear occured on bookmark table"); 
}

-(void)willMoveToParentViewController:(UIViewController *)parent {
NSLog(@"This VC has has been pushed popped OR covered"); // this is happening
if (!parent)
    NSLog(@"This happens ONLY when it's popped"); // this is happening
}
有谁能告诉我一种方法来找出什么叫willMoveToParentViewController或ViewWillEnglish?我在调试日志中看到了一个暂停,但它只是在前面说的

willMoveToParentViewController上的断点在线程1中显示了这一点

 0 [bookmarkTableViewController willMoveToParentViewController:]
 1 _popViewControllerNormal
视图上的断点将消失

 0 [bookmarkTableViewController viewWillDisappear:]
 1 [UIViewController _setViewApppearState:isAnimating:]
所以作为总结,我可以很好地使用它向上或向下滚动10次,然后它就发生了,或者它会发生在第一个滚动上,所以在我看来它是随机的。如果有人认为它可以帮助我共享整个类,那也会有帮助,但它几乎只是一个通用的表视图

编辑

我发现这和赛格有关

当我只按“Show e.g Push”时,它会让我有导航返回按钮,但会崩溃。当我“显示细节,例如替换”时,它从未崩溃,这让我觉得我可以假装导航返回按钮,但我真的想知道为什么会发生这种情况

编辑2:

我注意到,即使是空白表列表也会出现问题,因此与此无关。当我在完全空的新表视图控制器上上下滚动时,它会做完全相同的事情

由于某些原因,在滚动区域中上下滚动最终会锁定tableview UI,并调用上一个视图控制器ViewWillDisplay

编辑3:

我认为这可能与导航控制器有关,我只是将hte项目剥离到了它的骨架上,我注意到有时它不是滚动表格,而是做侧滑导航返回手势的事情

编辑4:


是的,就是这样,我甚至不能用objective-c来修复它,但它说我找到了原因。此导航手势关闭功能不起作用,因此偶尔会检测到反向导航扫描,而不是滚动,它会调用我的上一个视图,然后将其返回到当前视图。资料来源:很高兴听到有人对此有任何改进

编辑:找到一个解决方法

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
return NO;
}

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
    self.navigationController.interactivePopGestureRecognizer.enabled = NO;
    self.navigationController.interactivePopGestureRecognizer.delegate = self;
}