IOS:UILongPressGestureRecognizer EXC_BAD_ACCESS

时间:2011-11-28 15:12:32

标签: ios xcode uigesturerecognizer

我在viewDidLoad中有这段代码:

UILongPressGestureRecognizer *change = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(dragGestureChange:)];
    [imageView addGestureRecognizer:change];
    for (UILongPressGestureRecognizer *gestureRecognizer in imageView.gestureRecognizers)
    {
        [gestureRecognizer requireGestureRecognizerToFail:change];
    }

当我调用这个代码的类时,第一次它都没问题,但第二次崩溃是因为EXC_BAD_ACCESS;它不会发生,如果不是一个imageView我使用scrollView,为什么???

2 个答案:

答案 0 :(得分:2)

使用此代码,您要求所有识别器(包括更改)都无法成功更改,这可能不是很好

UILongPressGestureRecognizer *change = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(dragGestureChange:)];
[imageView addGestureRecognizer:change];
for (UILongPressGestureRecognizer *gestureRecognizer in imageView.gestureRecognizers)
{
    [gestureRecognizer requireGestureRecognizerToFail:change];
}

你应该把它改成这个

UILongPressGestureRecognizer *change = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(dragGestureChange:)];
for (UILongPressGestureRecognizer *gestureRecognizer in imageView.gestureRecognizers)
{
    [gestureRecognizer requireGestureRecognizerToFail:change];
}
[imageView addGestureRecognizer:change];

你应该在这里发布变化。不知道这是否真的可以解决你的问题,在你发布的内容中看不到任何其他错误。

答案 1 :(得分:0)

也许试试这个:UIButtonLongTab。使用背景图像为您的图像。我在ScrollView中的应用程序中使用它,它没有问题。