imageView(以下のコードのmaskPreview)に移動機能を作成して、ユーザーがmaskPreviewに含まれている画像を画面上で移動できるようにしようとしています。タッチ開始とタッチ移動のコードは次のとおりです。
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch= [touches anyObject];
originalOrigin = [touch locationInView:maskPreview];
}
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count]==1) {
UITouch *touch = [touches anyObject];
CGPoint lastTouch = [touch previousLocationInView:self.view];
CGFloat movedDistanceX = originalOrigin.x-lastTouch.x;
CGFloat movedDistanceY = originalOrigin.y-lastTouch.y;
[maskPreview setFrame:CGRectMake(maskPreview.frame.origin.x+movedDistanceX, maskPreview.frame.origin.y + movedDistanceY, maskPreview.frame.size.width, maskPreview.frame.size.height)];
}
}
しかし、私はアプリからいくつかの奇妙な応答を受け取っています。イメージビューが移動できる距離、つまり画面から消えないようにするための制限はありませんが、小さな動きでも、イメージビューがワイルドになって消えてしまいます。
すべての助けを事前にたくさんありがとう