Отключить UIView на TouchesMoved - PullRequest
0 голосов
/ 05 августа 2011

У меня есть приложение, в котором мне нужно перемещать изображения, проблема возникает, когда мышь касается перемещаемых изображений, но если она касается основного вида, весь вид также перемещается.

Я пробовал просмотр.userInteractionEnabled = NO;

но после одного хода весь вид останавливается.

Я хочу, чтобы мой вид был статичным (не двигался)

Справка !!!

здеськод

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {  
    UITouch *touch = [[event allTouches] anyObject];

    UIImageView *imgPimples = [[UIImageView alloc]init];
    imgPimples = (UIImageView*)[touch view];
    CGPoint touchLocation = [touch locationInView:imgPimples];
    imgPimples.center = touchLocation;
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
}

Ответы [ 2 ]

0 голосов
/ 05 августа 2011

Просто проверьте, имеет ли класс, к которому прикоснулись, вид UIImageView.

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

UITouch *touch = [[event allTouches] anyObject];
    if ([[touch view] isKindOfClass:[UIImageView class]]) {
        UIImageView *imgPimple;
        imgPimple = (UIImageView *)[touch view]; 
        CGPoint touchLocation = [touch locationInView:imgPimple];
        imgPimple.center = touchLocation;
    }

}

Я думаю, что это послужит вашей цели.

0 голосов
/ 05 августа 2011
if ([touch.view isKindOfClass:[UIImageView class]]){
imgPimples.center = touchLocation;
}

при условии, что ваше родительское представление также не является UIImageView.

...