少し問題があります。 私はUIViewをいくつか持っており、touchesBeganとtouchesMovedというメソッドでそれらをドラッグできます。フィンガーに対してUIVIewをドラッグする
私の問題は私のUIViewの座標(0,0)が私の指の下に来ることです。私はそれを避けたいと思います。
あなたはそれを行う方法を知っていますか?私はいくつかのことをしようとしたが成功しません:(
どうもありがとうございました!
少し問題があります。 私はUIViewをいくつか持っており、touchesBeganとtouchesMovedというメソッドでそれらをドラッグできます。フィンガーに対してUIVIewをドラッグする
私の問題は私のUIViewの座標(0,0)が私の指の下に来ることです。私はそれを避けたいと思います。
あなたはそれを行う方法を知っていますか?私はいくつかのことをしようとしたが成功しません:(
どうもありがとうございました!
それはビューのサイズに依存しますが、あなたはおそらくあなたのタッチの場所にcenter
プロパティを設定することができます。
のアニメーションただ場所を移動したり、それを翻訳
[UIView animateWithDuration:0.25f
delay:0.0f
options:(UIViewAnimationOptionBeginFromCurrentState|UIViewAnimationOptionCurveEaseInOut)
animations:^{
theView.center = tapLocation;
}
completion:NULL]
代わりにあなたのタップ位置にセンターでは、あなたはすべてのであなたの現在のタッチにビューをアニメーション化することができます210メソッド。
あなたは下に押したときに、あなたの指が、その後、ドラッグの速度を測定し、あなたの視野の位置に速度を適用するポイント
を保存する(私は私のexempleの原点との私の見解を翻訳)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSUInteger touchCount = [touches count];
NSUInteger tapCount = [[touches anyObject] tapCount];
NSLog(@"touchesBegan");
NSLog(@"%d touches", touchCount);
NSLog(@"%d taps", tapCount);
UITouch *touch = [touches anyObject];
pNow = [touch locationInView:self];
pLast = [touch locationInView:self];
}
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
NSUInteger touchCount = [touches count];
NSUInteger tapCount = [[touches anyObject] tapCount];
NSLog(@"touchesMoved");
NSLog(@"%d touches", touchCount);
NSLog(@"%d taps", tapCount);
UITouch *touch = [touches anyObject];
pNow = [touch locationInView:self];
mouseSpeed.x = pNow.x - pLast.x;
mouseSpeed.y = pNow.y - pLast.y;
NSLog(@"mouseSpeed : %f, %f", mouseSpeed.x, mouseSpeed.y);
origin.x += mouseSpeed.x;
origin.y += mouseSpeed.y;
NSLog(@"origin : %f, %f", origin.x, origin.y);
//copy point for the next update
pLast = pNow;
}
"ジャンプ"の効果が発生します。私は最初の時間にそれを録音した私の指に正確に従うことを望みます。 – Pierre
ああ、あなたの位置にアニメートしたいですか? –
初期タッチと中心の差を単純に計算してtouchesMoved値から差し引くことはできませんか? – Jake