2009-04-29 14 views
2

私は、UIViewでジェスチャーのズームイン/ズームアウトをキャプチャしようとしています。ズームイン/アウトジェスチャーUIView

コード:

NSSet *allTouches = [event allTouches]; 
NSArray *twoTouches = [allTouches allObjects]; 
UITouch *first = [twoTouches objectAtIndex:0]; 
UITouch *second = [twoTouches objectAtIndex:1]; 
CGPoint firstPoint = [first locationInView:self]; 
CGPoint secondPoint = [second locationInView:self]; 
CGFloat initialDistance = [distanceBetweenPoints(firstPoint, secondPoint)]; 

私は、関数distanceBetweenPointsを使用しています、問題がfirstPointまたはsecondPointは常に0.00、0.00と結果はそれらのいずれかの値であるという理由のためであるということです。

実際の距離を取得するには、ブースの値をゼロにする必要があります。

ビューのフレームは、(0、0、320、417)です。

私が開発している機能は、Googleマップのズームイン/ズームアウトのようなものです。

おかげで、

+0

私たちはどのプラットフォームについて話していますか?私は? –

+0

はい、iphone。 答えが見つかりました。 問題は、uiviewに属性self.multipleTouchEnabled = YESが必要であることでした。 そのため、マルチタッチは機能しましたが、それほどうまくいきませんでした。 ありがとうございます。 –

+2

あなた自身が答えを見つけたら、コメントではなく回答として追加してください。さもなければあなたの質問は検索に答えられないように見えます。 – hatfinch

答えて

2

問題はUIViewのがYES =属性はself.multipleTouchEnabledそれを必要とするということでした。そのため、マルチタッチはうまく機能しませんでした。