1

プロパティを持ってUIViewUIImageます。その画像をマスキングして に追加していUIViewます。マスクを画像にクリップすると、ジェスチャーが機能しなくなります。

マスキングコード:

CGContextRef ctx = UIGraphicsGetCurrentContext();
... // Creating mask
CGContextClip(ctx);
[self.image drawInRect:CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height)];
CGContextDrawPath(ctx, kCGPathStroke);

ジェスチャーコード:

- (void)move:(UIPanGestureRecognizer*)gesture {  
    CGPoint translation = [gesture translationInView:self.superview];
    CGRect currentFrame = self.frame; 
    currentFrame.origin.x = self.frame.origin.x + translation.x;
    currentFrame.origin.y = self.frame.origin.y + translation.y;
    self.frame = currentFrame;
    [gesture setTranslation:CGPointZero inView:self.superview];
}

この行を削除すると:CGContextClip(ctx);ジェスチャーは問題なく動作します。どんな提案でも大歓迎です。

4

0 に答える 0