2

私は、pdfファイルを使用してズームおよびパンできるマップを表示しているアトラスアプリに取り組んでいます。この目的でvfr リーダーを使用していますが、問題なく動作しています。正しい状態を選択できるように、タッチ位置を検出したい。以下のコードを使用してビューがズームおよびパンされていない場合、正しい座標を取得しています。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject]; 

    CGPoint point = [touch locationInView:theScrollView];
}

しかし、ズームアウトしてパンすると、タッチ位置が変わり、正しい状態が選択されません。正しい選択状態を取得するにはどうすればよいですか?

4

1 に答える 1

-1

vfrリーダー クラスをデバッグすると、 ReaderContentPageクラスで正確なタッチ位置を取得できることがわかりました。このクラスは、ズーム後の正しいタッチ位置も提供します。以下のように、SingleTap メソッドの処理でポイントを取得できます。

- (id)processSingleTap:(UITapGestureRecognizer *)recognizer
{
    CGPoint point = [recognizer locationInView:self];
}

CGPoint ポイントは正しいタッチ位置を示します。次に、デリゲート メソッドを使用して、必要なクラスで正しい座標を取得します。

于 2016-08-12T05:56:25.157 に答える