2012-02-28 4 views
0

제 생각에는 UIImageView 배열이 있습니다. 패닝 제스처를 추가하려고하면 UIImageView를 움직일 수 있습니다. 하지만 문제는 배열에 두 번째 UIImageView를 삽입 한 후 UIImageView를 움직일 때 이전 UIImageView를 건 드리면됩니다.UIImageView 제스처 배열

현재 UIImageView에서 터치를 어떻게 제한합니까?

- (void)addNewImageToArray: (UIImage *)inImage 
{ 
    UIImageView *tempImageView = [[UIImageView alloc]initWithImage:inImage]; 
    tempImageView.userInteractionEnabled = YES; 
    tempImageView.center = self.vwDesktop.center; 

    CALayer * l = [tempImageView layer]; 
    [l setBorderWidth:2.0]; 
    [l setBorderColor:[[UIColor grayColor] CGColor]]; 

    tempImageView.frame = CGRectMake(0,0,inImage.size.width,inImage.size.height);  

    [currentImageArray addObject:tempImageView]; 

    UIPanGestureRecognizer *stampPanGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(moveStamp:)]; 
    [stampPanGesture setMinimumNumberOfTouches:1]; 
    [stampPanGesture setMaximumNumberOfTouches:1]; 
    [[currentImageArray objectAtIndex:currentImageArray.count - 1] addGestureRecognizer:stampPanGesture]; 

    [self.vwDesktop addSubview:[currentImageArray objectAtIndex:currentImageArray.count - 1]]; 
} 
+0

우리가'moveStamp에 대한 코드를 들끓다 수 :'? – yuji

답변

0

제스처 인식기를 currentImageArray에 추가하기 전에 tempImageView에 추가하지 않는 이유가 있습니까?

우리는 실제로 moveStamp의 코드를 볼 필요가 있습니다. 어떻게하는지에 따라 인식기에 질문하고보기가 누구인지 물어 본 다음 해당보기로 이동해야합니다. 그거하고 있니? 코드는 편리하지 않지만 다음과 같이 보입니다.

panRecognizer는보기 만 지원하므로 제대로 작동합니다. 팬, 핀치 및 탭 제스처를 결합하여 여러 가지 개체 (예 : 내 앱 QPlus 참조)로 모든 작업을 완료했습니다. 모두 잘 맞습니다.

행운을 빌어 요,

데미안

+0

확인. 나는 네가 의미하는 것을 얻는다. 감사. – RockBaby

0

아마도 UIImageView의 태그를 사용하여 문제를 해결할 수 있습니다.

- (void)moveStamp:(UIGestureRecognizer *)gesture 
{ 
    NSInteger tag = gesture.view.tag; 
    if (tag = currentViewTag) { 
     return; 
    } 
    //... 
}