2011-01-19 6 views
0

私は簡単な質問があります。タッチイベントからのグラブビュー

私は複数のサブビューを持つビューを持っています。

は、私の見解では、私はタッチが..

をなどを始めているタッチからの位置を検出し、それ以外の場合はそのサブビューCに大きなを持ってすることなく、始めたタッチからサブビューを取得するが方法です。その特定の地域にあります。

ありがとうございました。

答えて

0

私の解決策は、スーパービューからタッチ位置を計算する代わりにです。子ビューをサブクラス化し、そこでタッチ位置フォームのみを取得し、スーパービューに対してポイントを変換します。

+0

サブクラスを意味するときは、サブビューからタッチイベントをキャプチャする必要がありますか? – user281300

+0

はい、タッチポイントをサブクラスから取得した後、そのポイントをスーパービューに変換し、サブビューの起点を変更します。 – YPK

0

必要なメソッドは、UIViewインスタンスメソッド-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)eventです。それはpointを含む最も低いレベルのサブビューを返します。

タッチのポイントを取得し、最大のコンテナUIViewのメソッドに渡し、タッチされた最前面のサブビューへのハンドルを取得します。簡単なピーシー。

+0

これはおかげで、基本的に親ビューでhittestを使って最低レベルのビューを取得しています。乾杯!それを今試みている。 – user281300

+0

こんにちは私はそれを試しましたが、それは同じビューを返しています。つまり、サブビューではなく親ビューです。 – user281300

関連する問題