ユーザーがドラッグを開始したときにUIScrollViewの(初期)タッチ位置を検出したいと思います。私はこの問題を探検しており、多くはこの問題に苦しんでいるようです。今、アップルがなぜスクロール表示でタッチ情報にアクセスできないのか、私はまだ頭を抱えていませんが、自分で解決策を見つけることはできません。しかし、私の試行はすべて失敗したので、私はあなたに尋ねたいと思います。ここでUIScrollViewのタッチ位置を検出しますか?
は、私が仕事だろうと思ったものです:
私はUIScrollViewのサブクラスでは、このようUIPanGestureRecognizerを設定し、そのジェスチャー認識装置に追加します。
UIPanGestureRecognizer *tapDrag = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(touchedAndDragged:)];
tapDrag.cancelsTouchesInView = NO;
tapDrag.delegate = self;
[self addGestureRecognizer:tapDrag];
および対応する方法:
-(void)touchedAndDragged:(UIPanGestureRecognizer*)t{
CGPoint loc = [t locationInView:self];
//do something with location (that is exactly what I need)
//...
//Now DISABLE and forward touches to scroll view, so that it scrolls normally
t.enabled = NO;
/****
?????
*****/
}
コメントで示されているように、私はポイントを持ってからパンジェスチャーを無効にしてから、認識ツールを無効にします(まだドラッグしている間に!)。ユーザがスクロールすることができるように、スクロールビューにタッチを「渡す」。それは実現可能ですか?他の解決策はありますか?
このスクロールがいくつかのxx位置にあるかどうかを検出することは可能ですか?scrollViewスクロールまたはタッチはトリガーされませんか?私は2つのビュー、地図とスクロールビューの下の地図を持っていると言う私は地図と地図がタッチを取得する必要があります私はその代理人を発射するスクロールビューをしたくない –