2011-11-28 1 views
0

내가있는 viewDidLoad에서이 코드를 가지고 :IOS : UILongPressGestureRecognizer EXC_BAD_ACCESS

나는이 코드 클래스, 모든 괜찮아 처음으로하지만 EXC_BAD_ACCESS 때문에 충돌이 두 번째 전화를
UILongPressGestureRecognizer *change = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(dragGestureChange:)]; 
    [imageView addGestureRecognizer:change]; 
    for (UILongPressGestureRecognizer *gestureRecognizer in imageView.gestureRecognizers) 
    { 
     [gestureRecognizer requireGestureRecognizerToFail:change]; 
    } 

; imageView 대신 scrollView를 사용하면 어떻게됩니까?

+1

코드를 더 이상 보지 않고도 NSZombiesEnabled를 켜거나 좀비를 프로파일 링 해보십시오. –

+0

- [CFSet countByEnumeratingWithState : objects : count :] : 할당 취소 된 인스턴스 0x14ab30에 전송 된 메시지 (메시지) – CrazyDev

+0

수동으로보기의 제스처 인식기를 해제 하시겠습니까? 당신은 그렇게하지 않아도됩니다. –

답변

0

어쩌면 이것을 시도하십시오 : UIButtonLongTab. 이미지에 배경 이미지를 사용하십시오. ScrollView 내에서이 응용 프로그램에서 사용하고 문제없이 작동합니다. 이 코드

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]; 

그리고 당신에게 그것을 변경해야 여기서 변경을 릴리스해야합니다. 그것이 실제로 당신의 문제를 해결할 지, 당신이 게시 한 것에 다른 어떤 것도 잘못 볼 수 있는지는 모르겠다.

+0

내 프로젝트에서 "자동 참조 계산 사용"을 선택했기 때문에 "변경"을 릴리스 할 수 없습니다. – CrazyDev

+0

좋은 답변입니다! 그것은 나를 위해 일했습니다. 나는 그것이 받아 들여 져야한다고 생각한다. – echo