Ios 手势识别器:应要求手动手势识别器崩溃
我的视图控制器上有一个手势识别器,用于滑入/滑出导航栏。不幸的是,有一个坏的NSZombie,当我滑动到上一个控制器时,它会使整个应用程序崩溃。跟踪非常困难,因为它只发生在特定的视图控制器中 以下是错误:Ios 手势识别器:应要求手动手势识别器崩溃,ios,iphone,uigesturerecognizer,nszombie,Ios,Iphone,Uigesturerecognizer,Nszombie,我的视图控制器上有一个手势识别器,用于滑入/滑出导航栏。不幸的是,有一个坏的NSZombie,当我滑动到上一个控制器时,它会使整个应用程序崩溃。跟踪非常困难,因为它只发生在特定的视图控制器中 以下是错误: [MyViewController gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:]: message sent to deallocated instance 这是我的代码: - (void)viewDidLoad
[MyViewController gestureRecognizer:shouldBeRequiredToFailByGestureRecognizer:]: message sent to deallocated instance
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pgr:)];
pgr.delegate = self;
[self.view addGestureRecognizer:pgr];
}
- (void)pgr:(UIPanGestureRecognizer *)gesture {
// Check if this is the first touch
if (gesture.state == UIGestureRecognizerStateBegan) {
CGPoint point = [gesture locationInView:gesture.view];
self.start = point.y;
}
CGPoint point = [gesture locationInView:gesture.view];
self.currentX = point.x;
self.offsetY = point.y - self.start;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if ([gestureRecognizer isKindOfClass:[UIScreenEdgePanGestureRecognizer class]]) {
return YES;
}
return NO;
}
委托方法是
- (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
尝试使用
- (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
if ([otherGestureRecognizer isKindOfClass:[UIScreenEdgePanGestureRecognizer class]]) {
return YES;
}
return NO;
}
相关代码是实例化MyViewController的地方。在这里,您没有创建对它的强引用,因此viewController被过早释放。我使用故事板。如何控制视图控制器的分配?这不是UIGestureRecognitizerDelegate中的方法。。。。刚刚在标题中签出。请参阅Apple文档