как добавить UIPanGestureRecognizer в UIImageView - PullRequest
1 голос
/ 16 ноября 2011
-(void)initialization
UIPanGestureRecognizer *panRecognizer = [[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(move:)] autorelease];
        [panRecognizer setMinimumNumberOfTouches:1];
        [panRecognizer setMaximumNumberOfTouches:1];
        [panRecognizer setDelegate:self];
        [imageview addGestureRecognizer:panRecognizer];
 }


    - (void)move:(UIPanGestureRecognizer *)gestureRecognizer
    {
        UIView *piece = imageview;

        [self adjustAnchorPointForGestureRecognizer:gestureRecognizer];

        if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
            CGPoint translation = [gestureRecognizer translationInView:[piece superview]];
            CGPoint translatedCenter = CGPointMake([piece center].x + translation.x, [piece center].y + translation.y);
            CGPoint center = [self centerWithBounds:translatedCenter andViewFrame:[piece frame] andBoundingFrame:[[piece superview] frame]];
            [piece setCenter:center];
            [gestureRecognizer setTranslation:CGPointZero inView:[piece superview]];
        }
    }

Я добавляю жест к изображению, чтобы он не вызывал действие перемещения.

как добавить жест только в UIImageView ..

1 Ответ

19 голосов
/ 16 ноября 2011

Попробуйте установить imageview.userInteractionEnabled = YES.Для UIImageViews userInteractionEnabled по умолчанию установлено NO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...