我有奇怪的错误,我不知道如何抓住这个问题.在我的应用程序中,我有不同的控制器.当我将controller1拖到导航控制器上并滑动回来时,一切都会很好.但是,如果我按下导航控制器1,进入控制器1推控制器2并尝试刷回来 – 我得到一个冻结的应用程序.如果回到后面的按钮 – 一切正常.
我怎么能抓住我的问题?
解决方法
当使用滑动手势时,我遇到类似的冻结界面问题.
在我的情况下,问题是在controller1.viewDidAppear我禁用滑动手势:self.navigationController.interactivePopGestureRecognizer.enabled = NO.所以当用户从contorller2开始刷卡时,控制器1.viewDidAppear被触发,手势被禁用.
在我的情况下,问题是在controller1.viewDidAppear我禁用滑动手势:self.navigationController.interactivePopGestureRecognizer.enabled = NO.所以当用户从contorller2开始刷卡时,控制器1.viewDidAppear被触发,手势被禁用.
我通过在controller1中设置self.navigationController.interactivePopGestureRecognizer.delegate = self并实现gestureRecognizerShouldBegin :,而不是禁用手势识别器来解决这个问题:
@H_403_11@- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)] && gestureRecognizer == self.navigationController.interactivePopGestureRecognizer) { return NO; } return YES; }