0

基本的には、画像をタッチして、theImage.center = touchPositionを使用せずに、指で画面上を移動させたいだけです。中央を指にスナップさせたくありません。触れたところから画像を動かしたい。

4

1 に答える 1

2

これを処理する標準的な方法は、@ richard-j-ross-iiiがコメントで示唆しているように、ドラッグの開始時にビューの中心とタッチ位置の差を保存し、ドラッグが進むにつれてその差を維持することです。touchesBegan:withEvent:メソッドで、次のようにオフセットを保存します。

_dragOffsetFromCenter = CGSizeMake(touchLocationInImageView.x - centerOfImageView.x, touchLocationInImageView.y - centerOfImageView.y);

次に、次のtouchesMoved:withEvent:ように同じオフセットを維持できます。

myImageView.center = CGPointMake(touchLocation.x - _dragOffsetFromCenter.x, touchLocation.y - _dragOffsetFromCenter.y);
于 2013-03-25T17:24:27.943 に答える