Pregunta

En mi opinión, hay una matriz de UiimageView.Intenté agregar Gesto de panorámica, mi UIIMAGEVIEW es capaz de moverse.Pero el problema es que inserto el segundo UIIMAGEVIEW en la matriz, puedo mover el UIIMAGEView cuando toque el UIIMAGEView anterior.

¿Cómo limito el toque dentro de la actual 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]];  
}

¿Fue útil?

Solución

¿Hay alguna razón por la que no agrega el reconocedor de gestos a la TempImageView antes de agregarla a la RANTIMAGEARRARY?

Realmente necesitamos ver el código en Movestamp.Sobre la base de cómo está haciendo esto, deberá interrogar el reconocedor, pregúntele quién es su opinión, y luego mueva esa vista.¿Estás haciendo eso?No tengo código a mano, pero se ve algo así:

- (void)moveStamp:(UIPanGestureRecognizer*)panRecognizer {
    UIView *viewToMove = panRecognizer.view;
    // move the view around
}

El Panrecognizer solo apuntará a su vista por lo que debería funcionar.Lo he hecho con muchos objetos en pantalla (consulte mi aplicación qplus, por ejemplo), combinando pan, pellizco y toque Gestures y todos juegan bien juntos.

buena suerte,

Damien

Otros consejos

Tal vez pueda usar la etiqueta de UiImageView para resolver su problema.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top