私は簡単な質問があります。タッチイベントからのグラブビュー
私は複数のサブビューを持つビューを持っています。
は、私の見解では、私はタッチが..
をなどを始めているタッチからの位置を検出し、それ以外の場合はそのサブビューCに大きなを持ってすることなく、始めたタッチからサブビューを取得するが方法です。その特定の地域にあります。
ありがとうございました。
私は簡単な質問があります。タッチイベントからのグラブビュー
私は複数のサブビューを持つビューを持っています。
は、私の見解では、私はタッチが..
をなどを始めているタッチからの位置を検出し、それ以外の場合はそのサブビューCに大きなを持ってすることなく、始めたタッチからサブビューを取得するが方法です。その特定の地域にあります。
ありがとうございました。
私の解決策は、スーパービューからタッチ位置を計算する代わりにです。子ビューをサブクラス化し、そこでタッチ位置フォームのみを取得し、スーパービューに対してポイントを変換します。
必要なメソッドは、UIViewインスタンスメソッド-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
です。それはpoint
を含む最も低いレベルのサブビューを返します。
タッチのポイントを取得し、最大のコンテナUIViewのメソッドに渡し、タッチされた最前面のサブビューへのハンドルを取得します。簡単なピーシー。
これはおかげで、基本的に親ビューでhittestを使って最低レベルのビューを取得しています。乾杯!それを今試みている。 – user281300
こんにちは私はそれを試しましたが、それは同じビューを返しています。つまり、サブビューではなく親ビューです。 – user281300
サブクラスを意味するときは、サブビューからタッチイベントをキャプチャする必要がありますか? – user281300
はい、タッチポイントをサブクラスから取得した後、そのポイントをスーパービューに変換し、サブビューの起点を変更します。 – YPK